---
title: "Identity is Nuanced: The relationship between identity, politics and political awareness is complicated by identity intersectionality and intra-group variation^[All information necessary to replicate the results of this paper is available in: Green, Anne Marie; Tsai, Paige; 2022, ”Identity is Nuanced: The relationship between identity, politics and political awareness is complicated by identity intersectionality and intra-group variation”, https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/7FFQPM]"
author: "Paige Tsai, Anne Marie Green"
date: "2022-12-10"
header-includes:
  - \usepackage{caption}
output:
  pdf_document: default
bibliography: replication_refs.bib
nocite: '@*'
---

```{r setup, include=FALSE}
# Load libraries:
library(survey)
library(ggplot2)
library(cowplot)
library(patchwork)
library(tidyverse)
library(ggrepel)
library(dplyr)
library(stargazer)

# Load data files and create weighted versions:
#anes <- readRDS("C:/Users/agreen/Desktop/Gov2001/Replication/Dataverse files/anes.rds")
#cces <- readRDS("C:/Users/agreen/Desktop/Gov2001/Replication/Dataverse files/cces.rds")
setwd("~/Dropbox (Personal)/HBS/phd/2022-2023 Grad School/GOV2001/gov2001_pset_group/replication_paper/replication_data/dataverse_files/")
# Load data files and create weighted versions:
anes <- readRDS("anes.rds")
cces <- readRDS("cces.rds")
w.anes <- svydesign(~1,data=anes,weights=~weight)
w.cces <- svydesign(~1,data=cces,weights=~weight)

set.seed(1982)

# Simulation defaults for each dataset:
aware.p <- seq(from=0, to=1, by=.01)
svymean(~age+female+married+income+educ+rel.atd+region+race+religion, w.anes, na.rm=T)
svymean(~age+female+married+income+educ+rel.atd+region+race+religion, w.cces, na.rm=T)
a.ctrl <- data.frame(race="White", religion="Mainline Protestant", lgbt=0, union.member=0, veteran=0, female=1, age=47.5, married=1, income=3.17, educ=3.01, rel.atd=2.63, region="South", year="2016", aware.p=aware.p)
c.ctrl <- data.frame(race="White", religion="Mainline Protestant", lgbt=0, union.member=0, veteran=0, female=1, age=47.9, married=1, income=2.81, educ=2.95, rel.atd=2.94, region="South", year="2016", aware.p=aware.p)

# Ggplot themes 
theme_idkn <- function(){
  theme(panel.background=element_rect(fill="gray91"), 
        axis.text=element_text(size=8, color="black") ,
        axis.title=element_text(size=12, color="black"),
        plot.title=element_text(hjust=.5, face="bold"))
}

theme_idkn2 <- function(){
  theme(panel.background=element_rect(fill="gray91"), 
        legend.position="none",
        axis.text=element_text(size=8, color="black") ,
        axis.title=element_text(size=12, color="black"),
        plot.title=element_text(hjust=.5, face="bold"), 
        plot.margin=margin(0.1,2,0.1,0.1, "cm"))
}


# Helper function to calculate and store confidence intervals
ans.ci <- function(x){
  cis <- confint(x)
  ans <- cbind(as.matrix(x), cis)
  ans <- round(ans, digits=4)
  ans <- as.data.frame(ans)
  names(ans) <- c("est", "lo", "hi")
  ans
}
```

\section{Introduction}
Americans do not construct their political views in a vacuum; instead, one's politics is profoundly shaped by outside influences, including one's social identity (Hajnal and Lee, 2011; Huddy, 2001; Huddy, Cassese and Lizotte, 2008; Lewis, Rogers and Sherrill, 2011). Jones (\textit{forthcoming}) explores the relationship between identity and politics, and asserts that political awareness acts as a moderator between one's identity and their party identification and policy preferences. In simpler terms, individuals with higher levels of political awareness, a measurement of general political knowledge and interest, were more able to make the link between their social identity and the typical politics of their social group. This relationship rests on the intuitive assumption that one should require some awareness of politics in order to understand how to contextualize one's own identity in the political landscape. A felicitous example Jones offers is the LGBT community, which has historically and consistently supported Democrats and liberal policies (Lewis, Rogers and Sherrill, 2011; Worthen, 2020). Jones finds evidence to support  this relationship, and asserts that as political awareness increases in this group, LGBT individuals become more Democratic and more liberal, hence more able to make the connection between their identity and their identity groups' typical politics. 

While social identity can undoubtedly play a significant role in the shaping of one's politics, especially if an individual has a politically salient identity, we argue that the connection between identity and politics is more nuanced  than Jones depicts, especially for certain social identities. For example, Jones finds strong support for the  identity-to-politics link for some social groups, such as LGBT and Black individuals, but weaker relationships for others, such as Hispanics and Asians. Jones argues that both Hispanics and Asians should lean Democrat and liberal, based on the behavior of political elites from these identity groups. However, previous scholarship has revealed that individuals with Asian and Hispanic identities can have ambivalent politics (Hajnal & Lee, 2011). Recent research and polling of Hispanic and Latino/a individuals, for example, paints a more complex picture of the politics of this group, with some instances of Hispanics leaning distinctively right rather than left (Galbraith & Callister, 2020; Kosmin & Keysar, 1995; Pew Research Center, 2016; Taylor et al., 2012). Furthermore, identity intersectionality, or the interconnected nature of social identities and the compounding marginalization at the intersection of racial, gender, sexual, regional and class identities, may further complicate the identity-to-politics link (Collins, 1990). For example, if an individual possesses multiple identities, and those identities are associated with conflicting policy preferences,  what happens when those identities interact? Would we predict a difference in  the identity-to-politics between an Asian living in the Southern United States and an Asian living in the Western United States, for example?

Additionally, while we recognize that some groups do have a particularly strong identity-to-politics relationship that is activated by political awareness, such as a Black identity in particular (White and Laird, 2020), we argue that the nature of political awareness may actually lead to more intra-group polarization, not necessarily a unidirectional liberal or conservative trend. Recent research has shown that while political polarization is increasing in the U.S., the extent to which Americans disagree on specific issues is not (Mason, 2018). In reality, this polarization is being driven by the elite: those who are most-educated and most informed about politics, regardless of their actual stakes in political outcomes (Jones, 2020; Mason, 2018; Schaffner & Luks, 2018). In light of this research, we ask, do politically salient identity groups exhibit more or less intra-group variation as political awareness increases? 

In this paper, we argue that the identity-to-politics link is more nuanced than Jones initially described due to the intersectional nature of social identity and the tendency toward more polarized views as political awareness increases. We seek to demonstrate that when intersectionality between social group identities or conflicting politics within a social group are considered, some fundamental assumptions of group politics fail to endure. 

The structure of this paper follows as such: first, we show that the two datasets used in Jones (\textit{forthcoming}), the American National Election Survey (ANES) and the Cooperative Congressional Election Study (CCES), may have significant differences, and as a result, should not be jointly used for the purposes of this analysis. Next, we show that some identity-to-politics relationships change once key interaction variables are added, such as when race interacts with gender, region, and income. Finally, by employing density plots sectioned by political awareness percentile and a variance function regression, we show that some identities, such as Hispanics, possess more varied rather than more uniform politics as political awareness increases, while other identities, such as Catholics or LGBT community members, have more uniformly conservative or liberal politics, respectively, as political awareness increases. This suggests that identity and political awareness interact differently for members of different identities, and that assuming that all identities trend towards one political direction or another simplifies a much more complex mural of identity politics.

Jones (\textit{forthcoming}) employs linear regressions to model the relationship between political awareness percentile and party identity or policy preferences. Our extension centers on these models, shown in \textbf{Figure 1} below and \textbf{Table 1} (see \textit{Appendix}), which replicate Figure 2 and Table A6 in Jones, \textit{forthcoming}.

```{r setup for Figure 2, include=FALSE, warning=FALSE}
################################################################################
# REGRESSION MODELS FOR MAIN ANALYSES
################################################################################

# CCES data, party identity
reg.c.pid7 <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, w.cces)

# CCES data, policy preferences 
reg.c.atts <- svyglm(atts~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, w.cces)

# ANES data, party identity
reg.a.pid7 <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, w.anes)

# ANES data, policy preferences
reg.a.atts <- svyglm(atts~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, w.anes)

###############################################################################
# AWARENESS AND THE IDENTITY-TO-POLITICS LINK FOR OTHER GROUPS
###############################################################################

# Simulate for different identities across range of awareness
# Create plots for Figure 2

# (a) Policy preferences and religious identities
evs.c.atts.relg <- rbind(ans.ci(predict(reg.c.atts, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "religion", "Catholic"), type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "religion", "Evangelical Protestant"), type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "religion", "Jewish"), type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "religion", "Secular"), type="response")))
evs.c.atts.relg$id.group <- c(rep("Mainline\nProtestant", length(aware.p)), rep("Catholic", length(aware.p)), rep("Evangelical\nProtestant", length(aware.p)), rep("Jewish", length(aware.p)), rep("Secular", length(aware.p)))  
evs.c.atts.relg$aware.p <- aware.p  
gg.c.atts.relg <- ggplot(evs.c.atts.relg, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("(a) Religion") +
  geom_text(data=subset(evs.c.atts.relg, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, nudge_y=c(0.01,0,0,.015,0), lineheight=.7) + #
  coord_cartesian(clip='off') +
  theme_idkn2()


# (b) Policy preferences and racial/ethnic identities
evs.c.atts.race <- rbind(ans.ci(predict(reg.c.atts, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "race", "Black"), type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "race", "Hispanic"), type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.atts.race$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.atts.race$aware.p <- aware.p  
gg.c.atts.race <- ggplot(evs.c.atts.race, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(b) Race and ethnicity") +
  geom_text(data=subset(evs.c.atts.race, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (c) Policy preferences and gender identities
evs.c.atts.gend <- rbind(ans.ci(predict(reg.c.atts, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "female", 0), type="response")))
evs.c.atts.gend$id.group <- c(rep("Women", length(aware.p)), rep("Men", length(aware.p)))
evs.c.atts.gend$aware.p <- aware.p  
gg.c.atts.gend <- ggplot(evs.c.atts.gend, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(c) Gender") +
  geom_text(data=subset(evs.c.atts.gend, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (d) Policy preferences and union membership
evs.c.atts.unin <- rbind(ans.ci(predict(reg.c.atts, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "union.member", 1), type="response")))
evs.c.atts.unin$id.group <- c(rep("Non-\nmember", length(aware.p)), rep("Union\nmember", length(aware.p)))
evs.c.atts.unin$aware.p <- aware.p  
gg.c.atts.unin <- ggplot(evs.c.atts.unin, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(d) Union membership") +
  geom_text(data=subset(evs.c.atts.unin, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, nudge_y=c(-.005,.005), lineheight=.7) + # 
  coord_cartesian(clip='off') +
  theme_idkn2()


# (e) Policy preferences and veteran status
evs.c.atts.vets <- rbind(ans.ci(predict(reg.c.atts, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.atts, replace(c.ctrl, "veteran", 1), type="response")))
evs.c.atts.vets$id.group <- c(rep("Non-\nveteran", length(aware.p)), rep("Veteran", length(aware.p)))
evs.c.atts.vets$aware.p <- aware.p  
gg.c.atts.vets <- ggplot(evs.c.atts.vets, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(e) Veteran status") +
  geom_text(data=subset(evs.c.atts.vets, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (f) Party identity and religious identities
evs.c.pid7.relg <- rbind(ans.ci(predict(reg.c.pid7, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "religion", "Catholic"), type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "religion", "Evangelical Protestant"), type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "religion", "Jewish"), type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "religion", "Secular"), type="response")))
evs.c.pid7.relg$id.group <- c(rep("Mainline\nProtestant", length(aware.p)), rep("Catholic", length(aware.p)), rep("Evangelical\nProtestant", length(aware.p)), rep("Jewish", length(aware.p)), rep("Secular", length(aware.p)))  
evs.c.pid7.relg$aware.p <- aware.p  
gg.c.pid7.relg <- ggplot(evs.c.pid7.relg, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted party identity") + ggtitle("(f) Religion") +
  geom_text(data=subset(evs.c.pid7.relg, aware.p==1), aes(label=id.group), hjust=0, nudge_x=0.02, nudge_y=c(0.015,-.005,0,0,0), lineheight=.7) + 
  coord_cartesian(clip='off') +
  theme_idkn2()


# (g) Party identity and racial/ethnic identities
evs.c.pid7.race <- rbind(ans.ci(predict(reg.c.pid7, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "race", "Black"), type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "race", "Hispanic"), type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.pid7.race$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.pid7.race$aware.p <- aware.p  
gg.c.pid7.race <- ggplot(evs.c.pid7.race, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(g) Race and ethnicity") +
  geom_text(data=subset(evs.c.pid7.race, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# (h) Party identity and gender identities
evs.c.pid7.gend <- rbind(ans.ci(predict(reg.c.pid7, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "female", 0), type="response")))
evs.c.pid7.gend$id.group <- c(rep("Women", length(aware.p)), rep("Men", length(aware.p)))
evs.c.pid7.gend$aware.p <- aware.p  
gg.c.pid7.gend <- ggplot(evs.c.pid7.gend, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(h) Gender") +
  geom_text(data=subset(evs.c.pid7.gend, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (i) Party identity and union membership
evs.c.pid7.unin <- rbind(ans.ci(predict(reg.c.pid7, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "union.member", 1), type="response")))
evs.c.pid7.unin$id.group <- c(rep("Non-\nmember", length(aware.p)), rep("Union\nmember", length(aware.p)))
evs.c.pid7.unin$aware.p <- aware.p  
gg.c.pid7.unin <- ggplot(evs.c.pid7.unin, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(i) Union membership") +
  geom_text(data=subset(evs.c.pid7.unin, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (j) Party identity and veteran status
evs.c.pid7.vets <- rbind(ans.ci(predict(reg.c.pid7, c.ctrl, type="response")),
                         ans.ci(predict(reg.c.pid7, replace(c.ctrl, "veteran", 1), type="response")))
evs.c.pid7.vets$id.group <- c(rep("Non-\nveteran", length(aware.p)), rep("Veteran", length(aware.p)))
evs.c.pid7.vets$aware.p <- aware.p  
gg.c.pid7.vets <- ggplot(evs.c.pid7.vets, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("(j) Veteran status") +
  geom_text(data=subset(evs.c.pid7.vets, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# Create Figure 2
f2_row1 <- gg.c.atts.relg + gg.c.atts.race + gg.c.atts.gend + gg.c.atts.unin + gg.c.atts.vets + plot_layout(ncol=5)
f2_row2 <- gg.c.pid7.relg + gg.c.pid7.race + gg.c.pid7.gend + gg.c.pid7.unin + gg.c.pid7.vets + plot_layout(ncol=5)
f2_title1 <- ggdraw() + draw_label("Predicted policy preferences", fontface='bold', size=16, hjust=.5)
f2_title2 <- ggdraw() + draw_label("Predicted party identity", fontface='bold', size=16, hjust=.5)
```

```{r Figure 2, fig.cap='Replication of Figure 2 in Jones, \textit{forthcoming}', fig.align='center', echo=FALSE, warning=FALSE, include=FALSE}
f2_title1 / f2_row1 / plot_spacer() / f2_title2 / f2_row2 + plot_layout(heights=c(.15, 1,.05,.15,1))
```

![Predicted policy preferences and partisanship, by social identity and political awareness (replication of Figure 2 from Jones)](Figure2.pdf)

\section{2 ANES and CCES data have significant differences}
Jones utilizes two datasets in his analysis, the ANES from years 2008, 2012, and 2016, as well as the CCES from years 2016 and 2018. We were interested in better understanding the differences between the ANES and CCES datasets to determine if we could leverage the time discrepancies between the two datasets to better understand how the relationship between social identity, policy preferences, party identity, and political awareness changed over time between 2008 and 2018. Before we could perform this analysis, however, we needed to ensure that the datasets were indeed comparable. Since both surveys were administered in 2016, we began by limiting the analysis to responses in 2016, and examining whether the relationships between social identity, policy preferences, party identity and political awareness were consistent across both datasets. 
  
We performed this analysis in several ways. First, we recreated the main models predicting policy preferences and party identity using only the 2016 dataset. Results from this analysis can be found in \textbf{Table 2} (Predicting Policy Preferences) and \textbf{Table 3} (Predicting Party Identity) in the \textit{Appendix}. As \textbf{Tables 2} & \textbf{3} show, there are substantial differences between the ANES and CCES 2016 datasets. These differences span both direction and significance for some variables  (e.g., Awareness, Black, Evangelical Protestant, etc.). To assess whether the differences across CCES and ANES 2016 datasets were significant, we utilized a statistical approach for comparing regression coefficients between models developed by Clogg et al. (1995). The p-values indicating whether the differences between the CCES and ANES 2016 model coefficients are significant are presented in the last column of \textbf{Tables 2 and 3}. We also visualized these differences across racial/ethnic and religious groups using plots as depicted in  \textbf{Figure 2}.


```{r CCES and ANES comparison, warn = -1, include = FALSE}
#anes_2016
anes_16 <- anes %>% filter(year == 2016)
w.anes_16 <- svydesign(~1,data=anes_16,weights=~weight)

#cces_2016
cces_16 <- cces %>% filter(year == 2016)
w.cces_16 <- svydesign(~1,data=cces_16,weights=~weight)

#cces_2018
cces_18 <- cces %>% filter(year == 2018)
w.cces_18 <- svydesign(~1,data=cces_18,weights=~weight)

################################################################################
# SET SEED, SIMULATION DEFAULTS, GGPLOT THEMES, AND CREATE HELPER FUNCTIONS 
################################################################################

set.seed(1982)

# Simulation defaults for each dataset:
aware.p <- seq(from=0, to=1, by=.01)
svymean(~age+female+married+income+educ+rel.atd+region+race+religion, w.anes_16, na.rm=T)
svymean(~age+female+married+income+educ+rel.atd+region+race+religion, w.cces_16, na.rm=T)
a.ctrl.16 <-
  data.frame(
    race = "White",
    religion = "Mainline Protestant",
    lgbt = 0,
    union.member = 0,
    veteran = 0,
    female = 1,
    age = 47.5,
    married = 1,
    income = 3.17,
    educ = 3.01,
    rel.atd = 2.63,
    region = "South",
    aware.p = aware.p
  )
c.ctrl.16 <-
  data.frame(
    race = "White",
    religion = "Mainline Protestant",
    lgbt = 0,
    union.member = 0,
    veteran = 0,
    female = 1,
    age = 47.9,
    married = 1,
    income = 2.81,
    educ = 2.95,
    rel.atd = 2.94,
    region = "South",
    aware.p = aware.p
  )

# Ggplot themes 
theme_idkn <- function(){
  theme(panel.background=element_rect(fill="gray91"), 
        axis.text=element_text(size=8, color="black") ,
        axis.title=element_text(size=12, color="black"),
        plot.title=element_text(hjust=.5, face="bold"))
}

theme_idkn2 <- function(){
  theme(panel.background=element_rect(fill="gray91"), 
        legend.position="none",
        axis.text=element_text(size=8, color="black") ,
        axis.title=element_text(size=12, color="black"),
        plot.title=element_text(hjust=.5, face="bold"), 
        plot.margin=margin(0.1,2,0.1,0.1, "cm"))
}


# Helper function to calculate and store confidence intervals
ans.ci <- function(x){
  cis <- confint(x)
  ans <- cbind(as.matrix(x), cis)
  ans <- round(ans, digits=4)
  ans <- as.data.frame(ans)
  names(ans) <- c("est", "lo", "hi")
  ans
}
  

################################################################################
# REGRESSION MODELS FOR MAIN ANALYSES
################################################################################

# CCES data, party identity -- 2016 ONLY
reg.c.pid7_16 <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region, w.cces_16)

# CCES data, policy preferences -- 2016 ONLY
reg.c.atts_16 <- svyglm(atts~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region, w.cces_16)

# ANES data, party identity -- 2016 ONLY
reg.a.pid7_16 <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region, w.anes_16)

# ANES data, policy preferences -- 2016 ONLY
reg.a.atts_16 <- svyglm(atts~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region, w.anes_16)


# CCES data, party identity -- 2018 ONLY
reg.c.pid7_18 <- svyglm(pid7~
                          race*aware.p+
                          religion*aware.p+
                          female*aware.p+
                          lgbt*aware.p+
                          union.member*aware.p+
                          veteran*aware.p+
                          age+married+income+educ+rel.atd+region, w.cces_18)

# CCES data, policy preferences -- 2018 ONLY
reg.c.atts_18 <- svyglm(atts~
                          race*aware.p+
                          religion*aware.p+
                          female*aware.p+
                          lgbt*aware.p+
                          union.member*aware.p+
                          veteran*aware.p+
                          age+married+income+educ+rel.atd+region, w.cces_18)

# CCES data, policy preferences -- both years, interaction
reg.c.atts <- svyglm(atts~
                          race*aware.p*year+
                          religion*aware.p*year+
                          female*aware.p*year+
                          lgbt*aware.p*year+
                          union.member*aware.p*year+
                          veteran*aware.p*year+
                          age+married+income+educ+rel.atd+region+year, w.cces)

# CCES data, party identity -- both years, interaction
reg.c.pid7 <- svyglm(pid7~
                          race*aware.p*year+
                          religion*aware.p*year+
                          female*aware.p*year+
                          lgbt*aware.p*year+
                          union.member*aware.p*year+
                          veteran*aware.p*year+
                          age+married+income+educ+rel.atd+region+year, w.cces)

################################################################################
# A4 REGRESSION MODELS
################################################################################
#Compare the coefficients across ANES and CCES dataset
#to see if they are significantly different
#policy preferences
pvals = NULL
for (i in 1:length(reg.c.atts_16$coefficients)){
  top = (reg.c.atts_16$coefficients[i] - reg.a.atts_16$coefficients[i])
  bottom = sqrt(((summary(reg.c.atts_16)$coefficients[i, 2])^2)+((summary(reg.a.atts_16)$coefficients[i, 2]))^2)
  z = top/bottom
  p = 2*pnorm(abs(z),lower.tail = FALSE)
  pvals = c(pvals, p)
}  

pvals = round(pvals, digits = 3)  
pvals

## FOR PARTY ID
pvals_pid = NULL
for (i in 1:length(reg.c.pid7_16$coefficients)){
  top = (reg.c.pid7_16$coefficients[i] - reg.a.pid7_16$coefficients[i])
  bottom = sqrt(((summary(reg.c.pid7_16)$coefficients[i, 2])^2)+((summary(reg.a.pid7_16)$coefficients[i, 2]))^2)
  z = top/bottom
  p = 2*pnorm(abs(z),lower.tail = FALSE)
  pvals_pid = c(pvals_pid, p)
}  

pvals_pid = round(pvals_pid, digits = 3)  
pvals_pid
pvals

# Table A6: Main models predicting policy preferences and party identity -- 2016 ONLY
#Policy Preferences
stargazer(list(reg.c.atts_16,reg.a.atts_16),
  single.row = T,
  stars = c(.001, .01, .05, .1),
  fontsize = "small",
  dep.var.labels.include = F,
  column.labels = c("Policy (CCES '16)", "Policy (ANES '16)"),
  type = "latex"
)

#Party ID 2016 ONLY
stargazer(
  list(reg.c.pid7_16, reg.a.pid7_16),
  single.row = T,
  stars = c(.001, .01, .05, .1),
  fontsize = "small",
  dep.var.labels.include = F,
  column.labels = c("Party (CCES '16)", "Party (ANES '16)"),
  type = "latex"
  
)

# Table A6: Main models predicting policy preferences and party identity -- 2016 vs 2018
#Policy Preferences
stargazer(list(reg.c.atts_16,reg.c.atts_18),
          single.row = T,
          stars = c(.001, .01, .05, .1),
          fontsize = "small",
          dep.var.labels.include = F,
          column.labels = c("Policy (CCES '16)", "Policy (CCES '18)"),
          type = "latex")

## FOR 2018 Policy Prefs
pvals_atts = NULL
for (i in 1:length(reg.c.atts_16$coefficients)){
  top = (reg.c.atts_18$coefficients[i] - reg.c.atts_16$coefficients[i])
  bottom = sqrt(((summary(reg.c.atts_18)$coefficients[i, 2])^2)+((summary(reg.c.atts_16)$coefficients[i, 2]))^2)
  z = top/bottom
  p = 2*pnorm(abs(z),lower.tail = FALSE)
  pvals_atts = c(pvals_atts, p)
}  

pvals_atts = round(pvals_atts, digits = 3)  
pvals_atts

#Policy Preferences

stargazer(
  list(reg.c.pid7_16, reg.c.pid7_18),
  single.row = T,
  stars = c(.001, .01, .05, .1),
  fontsize = "small",
  dep.var.labels.include = F,
  column.labels = c("Party ID (CCES '16)", "Party ID (CCES '18)"),
  type = "latex"
)

## FOR 2018 PARTY ID
pvals_pid = NULL
for (i in 1:length(reg.c.pid7_16$coefficients)){
  top = (reg.c.pid7_18$coefficients[i] - reg.c.pid7_16$coefficients[i])
  bottom = sqrt(((summary(reg.c.pid7_18)$coefficients[i, 2])^2)+((summary(reg.c.pid7_16)$coefficients[i, 2]))^2)
  z = top/bottom
  p = 2*pnorm(abs(z),lower.tail = FALSE)
  pvals_pid = c(pvals_pid, p)
}  

pvals_pid = round(pvals_pid, digits = 3)  
pvals_pid



#INTERACTED MODEL
#cces 2018 data with interaction
stargazer(list(reg.c.atts,reg.c.pid7),
          single.row = T,
          stars = c(.001, .01, .05, .1),
          fontsize = "small",
          dep.var.labels.include = F,
          column.labels = c("Policy (CCES '16)", "Policy (CCES '18)"),
          type = "latex")
###############################################################################
# AWARENESS AND THE IDENTITY-TO-POLITICS LINK FOR OTHER GROUPS
###############################################################################

# (a) Policy preferences and religious identities - CCES 2016
evs.c.atts.relg_16 <- rbind(ans.ci(predict(reg.c.atts_16, c.ctrl.16, type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "religion", "Catholic"), type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "religion", "Evangelical Protestant"), type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "religion", "Jewish"), type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "religion", "Secular"), type="response")))
evs.c.atts.relg_16$id.group <- c(rep("Mainline\nProtestant", length(aware.p)), rep("Catholic", length(aware.p)), rep("Evangelical\nProtestant", length(aware.p)), rep("Jewish", length(aware.p)), rep("Secular", length(aware.p)))  
evs.c.atts.relg_16$aware.p <- aware.p  
gg.c.atts.relg_16 <- ggplot(evs.c.atts.relg_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.25,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("Religion") +
  geom_text(data=subset(evs.c.atts.relg_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, nudge_y=c(0.01,0,0,.015,0), lineheight=.7) + #
  coord_cartesian(clip='off') +
  theme_idkn2()


# (a) Policy preferences and religious identities - ANES 2016
evs.a.atts.relg_16 <- rbind(ans.ci(predict(reg.a.atts_16, a.ctrl.16, type="response")),
                         ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "religion", "Catholic"), type="response")),
                         ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "religion", "Evangelical Protestant"), type="response")),
                         ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "religion", "Jewish"), type="response")),
                         ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "religion", "Secular"), type="response")))
evs.a.atts.relg_16$id.group <- c(rep("Mainline\nProtestant", length(aware.p)), rep("Catholic", length(aware.p)), rep("Evangelical\nProtestant", length(aware.p)), rep("Jewish", length(aware.p)), rep("Secular", length(aware.p)))  
evs.a.atts.relg_16$aware.p <- aware.p  
gg.a.atts.relg_16 <- ggplot(evs.a.atts.relg_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.25,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("Religion") +
  geom_text(data=subset(evs.a.atts.relg_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, nudge_y=c(0.01,0,0,.015,0), lineheight=.7) + #
  coord_cartesian(clip='off') +
  theme_idkn2()

# (b) Policy preferences and racial/ethnic identities - CCES 2016
evs.c.atts.race_16 <- rbind(ans.ci(predict(reg.c.atts_16, c.ctrl.16, type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "race", "Black"), type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "race", "Hispanic"), type="response")),
                         ans.ci(predict(reg.c.atts_16, replace(c.ctrl.16, "race", "Asian"), type="response")))
evs.c.atts.race_16$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.atts.race_16$aware.p <- aware.p  
gg.c.atts.race_16 <- ggplot(evs.c.atts.race_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.2,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Policy Preferences") + ggtitle("Race and ethnicity") +
  geom_text(data=subset(evs.c.atts.race_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (b) Policy preferences and racial/ethnic identities - ANES 2016
evs.a.atts.race_16 <- rbind(ans.ci(predict(reg.a.atts_16, a.ctrl.16, type="response")),
                            ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "race", "Black"), type="response")),
                            ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "race", "Hispanic"), type="response")),
                            ans.ci(predict(reg.a.atts_16, replace(a.ctrl.16, "race", "Asian"), type="response")))
evs.a.atts.race_16$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.a.atts.race_16$aware.p <- aware.p  
gg.a.atts.race_16 <- ggplot(evs.a.atts.race_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.2,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Policy Preferences") + ggtitle("Race and ethnicity") +
  geom_text(data=subset(evs.a.atts.race_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()



## Party IDs

# (c) Party IDs and religious identities - CCES 2016
evs.c.pid7.relg_16 <- rbind(ans.ci(predict(reg.c.pid7_16, c.ctrl.16, type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "religion", "Catholic"), type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "religion", "Evangelical Protestant"), type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "religion", "Jewish"), type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "religion", "Secular"), type="response")))
evs.c.pid7.relg_16$id.group <- c(rep("Mainline\nProtestant", length(aware.p)), rep("Catholic", length(aware.p)), rep("Evangelical\nProtestant", length(aware.p)), rep("Jewish", length(aware.p)), rep("Secular", length(aware.p)))  
evs.c.pid7.relg_16$aware.p <- aware.p  
gg.c.pid7.relg_16 <- ggplot(evs.c.pid7.relg_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.25,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party ID") + ggtitle("Religion") +
  geom_text(data=subset(evs.c.pid7.relg_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, nudge_y=c(0.01,0,0,.015,0), lineheight=.7) + #
  coord_cartesian(clip='off') +
  theme_idkn2()


# (a) Policy preferences and religious identities - ANES 2016
evs.a.pid7.relg_16 <- rbind(ans.ci(predict(reg.a.pid7_16, a.ctrl.16, type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "religion", "Catholic"), type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "religion", "Evangelical Protestant"), type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "religion", "Jewish"), type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "religion", "Secular"), type="response")))
evs.a.pid7.relg_16$id.group <- c(rep("Mainline\nProtestant", length(aware.p)), rep("Catholic", length(aware.p)), rep("Evangelical\nProtestant", length(aware.p)), rep("Jewish", length(aware.p)), rep("Secular", length(aware.p)))  
evs.a.pid7.relg_16$aware.p <- aware.p  
gg.a.pid7.relg_16 <- ggplot(evs.a.pid7.relg_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.25,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party ID") + ggtitle("Religion") +
  geom_text(data=subset(evs.a.pid7.relg_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, nudge_y=c(0.01,0,0,.015,0), lineheight=.7) + #
  coord_cartesian(clip='off') +
  theme_idkn2()


# (d) Party ID and racial/ethnic identities - CCES 2016
evs.c.pid7.race_16 <- rbind(ans.ci(predict(reg.c.pid7_16, c.ctrl.16, type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "race", "Black"), type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "race", "Hispanic"), type="response")),
                            ans.ci(predict(reg.c.pid7_16, replace(c.ctrl.16, "race", "Asian"), type="response")))
evs.c.pid7.race_16$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.pid7.race_16$aware.p <- aware.p  
gg.c.pid7.race_16 <- ggplot(evs.c.pid7.race_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.2,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party ID") + ggtitle("Race and ethnicity") +
  geom_text(data=subset(evs.c.pid7.race_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (d) Party ID and racial/ethnic identities - ANES 2016
evs.a.pid7.race_16 <- rbind(ans.ci(predict(reg.a.pid7_16, a.ctrl.16, type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "race", "Black"), type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "race", "Hispanic"), type="response")),
                            ans.ci(predict(reg.a.pid7_16, replace(a.ctrl.16, "race", "Asian"), type="response")))
evs.a.pid7.race_16$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.a.pid7.race_16$aware.p <- aware.p  
gg.a.pid7.race_16 <- ggplot(evs.a.pid7.race_16, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(.2,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party ID") + ggtitle("Race and ethnicity") +
  geom_text(data=subset(evs.a.pid7.race_16, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()

f2_row1 <- gg.c.pid7.relg_16 + gg.c.atts.relg_16 + gg.c.pid7.race_16 + gg.c.atts.race_16 +  plot_layout(ncol = 4)
f2_row2 <- gg.a.pid7.relg_16 + gg.a.atts.relg_16 + gg.a.pid7.race_16 + gg.a.atts.race_16 + plot_layout(ncol = 4)
f2_title1 <- ggdraw() + draw_label("CCES 2016", fontface='bold', size=16, hjust=.5)
f2_title2 <- ggdraw() + draw_label("ANES 2016", fontface='bold', size=16, hjust=.5)
f2_title1 / f2_row1 / plot_spacer() / f2_title2 / f2_row2 + plot_layout(heights=c(.15, 1,.05,.15,1))

################################################################################
# A2.2 DESCRIPTIVE STATISTICS
################################################################################
# Additional libraries for appendix material
library(gtsummary)
library(texreg)
# Descriptive statistics for CCES data, for Tables A2 and A4
ta2 <- tbl_svysummary(w.cces_16, 
               type=list(pid7~'continuous', aware.p~'continuous', lgbt='continuous', female='continuous', union.member='continuous', veteran='continuous', married='continuous', income='continuous', educ='continuous', rel.atd='continuous', ideo='continuous', vote='categorical'),
               statistic=list(all_continuous() ~ "{min} {max} {mean} {sd}"),
               digits=list(age~2),
               missing="no")

ta2
ta3 <- tbl_svysummary(w.cces_16, 
               type=list(lgbt='categorical', female='categorical', union.member='categorical', veteran='categorical'),
               statistic=list(all_continuous() ~ "{min} {max} {mean} {sd}",
                              all_categorical() ~"{n} ({p}%) {N}"),
               missing="no")

ta3

as_kable_extra(ta3, format = "latex")
# Descriptive statistics for ANES data, for Tables A3 and A4
ta4 <- tbl_svysummary(w.anes_16, 
               type=list(pid7~'continuous', aware.p~'continuous', lgbt='continuous', female='continuous', union.member='continuous', veteran='continuous', married='continuous', income='continuous', educ='continuous', rel.atd='continuous', ideo='continuous', vote='categorical', lf.race='continuous', id.race='continuous', id.relg='continuous'),
               statistic=list(all_continuous() ~ "{min} {max} {mean} {sd}"),
               digits=list(age~2),
               missing="no")
ta4

ta5 <-tbl_svysummary(w.anes_16, 
               type=list(lgbt='categorical', female='categorical', union.member='categorical', veteran='categorical'),
               statistic=list(all_continuous() ~ "{min} {max} {mean} {sd}",
                              all_categorical() ~"{n} ({p}%) {N}"),
               missing="no")

ta3 
ta5

##Tables
as_kable_extra(ta2, format = "latex")

tbl_svysummary(w.cces, 
               type=list(lgbt='categorical', female='categorical', union.member='categorical', veteran='categorical'),
               statistic=list(all_continuous() ~ "{min} {max} {mean} {sd}",
                              all_categorical() ~"{n} ({p}%) {N}"),
               missing="no")
```


![Predicted policy preferences and partisanship, by religious identity, racial identity, and political awareness in ANES'16 and CCES '16 datasets](cces_anes_race_religion.png)

To better understand what was driving these differences, we re-created Tables A2, A3, and A4 from Jones' paper, which summarize the descriptive statistics for the ANES and CCES datasets in 2016 in \textbf{Tables 4, 5, and 6} respectively.

\begin{table}[!htbp] \centering 
\caption*{Table 4: Descriptive Statistics for CCES, 2016}
  \label{} 
\begin{tabular}{lcccc} 

\hline
& Min. & Max. & Mean & SD\\
\hline
Party identity & 0.00 & 1.00 & 0.55 & 0.36\\
Policy preferences & 0.00 & 1.00 & 0.59 & 0.26\\
Political awareness & 0.02 &0.90& 0.50 &0.28\\
Female* & 0.00 &1.00 & 0.52 &\\
LGBT* & 0.00 &1.00 &0.09 &\\
Union Member* & 0.00& 1.00& 0.07 &\\
Veteran* & 0.00 & 1.00 & 0.11 & \\
Married* & 0.00 &1.00& 0.51& \\
Age & 18.00& 99.00& 47.17 &17.51\\
Income & 1.00& 5.00& 2.76 &1.44\\
Education & 1.00 &5.00 &2.85 &1.10\\
Religiosity & 1.00 &6.00& 2.94 &1.70\\
\hline
*Binary variable\\
\textit{Note:Statistics from weighted dataset}
\end{tabular}
\end{table}

\begin{table}[!htbp] \centering 
\caption*{Table 5: Descriptive Statistics for ANES, 2016}
  \label{} 
\begin{tabular}{lcccc} 

\hline
& Min. & Max. & Mean & SD\\
\hline
Party identity & 0.00 & 1.00 & 0.53 & 0.36\\
Policy preferences & 0.00 & 1.00 & 0.58 & 0.19\\
Political awareness & 0.00 &0.99& 0.49 &0.28\\
Female* & 0.00 &1.00 & 0.52 &\\
LGBT* & 0.00 &1.00 &0.06 &\\
Union Member* & 0.00& 1.00& 0.08 &\\
Veteran* & 0.00 & 1.00 & 0.10 & \\
Married* & 0.00 &1.00& 0.51& \\
Age & 18.00& 99.00& 47.39 &17.69\\
Income & 1.00& 5.00& 2.98 &1.43\\
Education & 1.00 &5.00 &2.98 &1.17\\
Religiosity & 1.00 &6.00& 2.57 &1.72\\
\hline
*Binary variable\\
\textit{Note:Statistics from weighted dataset} \\ 
\end{tabular}
\end{table}

\begin{table}[!htbp] \centering 
\caption*{Table 6: Identity groups in surveys}
  \label{} 
\begin{tabular}{lcccc}

\hline
& CCES & 2016 & ANES & 2016\\
& N & \% & N & \%\\
\hline
Religion & & & & \\
\hspace{3mm} Mainline Protestant &  8,320 & 15 & 526 & 15\\
\hspace{3mm} Evangelical Protestant &  13,275 & 23 & 657 & 18\\
 \hspace{3mm} Catholic &  11,779 & 21 & 788 & 22\\
 \hspace{3mm} Jewish &  1,239 & 2 & 70 & 2\\
 \hspace{3mm} Secular &  16,981 & 30 & 772 & 21\\
 \hspace{3mm} Other &  5,545 & 9 & 806 & 22\\
 \hspace{3mm} Total &  57,139 & 100 & 3,617 & 100\\
 Race/ethnicity & & & & \\
\hspace{3mm} White &  41,708 & 73 & 2,530 & 70\\
\hspace{3mm} Black &  7,060 & 12 & 397 & 11\\
 \hspace{3mm} Hispanic &  4,190 & 7 & 432 & 12\\
 \hspace{3mm} Asian &  1,704 & 3 & 102 & 3\\
 \hspace{3mm} Other &  2,487 & 4 & 167 & 4\\
 \hspace{3mm} Total &  57,148 & 100 & 3,628 & 100\\
Gender & & & & \\
\hspace{3mm} Men &  27,555 & 48 & 1,733 & 48\\
\hspace{3mm} Women &  29,953 & 52 & 1,873 & 52\\
\hspace{3mm} Total &  57,148 & 100 & 3,606 & 100\\
LGBT & & & & \\
\hspace{3mm} Straight cisgender &  50,926 & 92 & 3,349 & 94\\
\hspace{3mm} LGB &  5,378 & 8 & 223 & 6\\
\hspace{3mm} Total &  55,459 & 100 & 3,573 & 100\\
Union membership & & & & \\
\hspace{3mm} Non-member &  52,956 & 93 & 3,356 & 92\\
\hspace{3mm} Union member &  4,069 & 7 & 291 & 8\\
\hspace{3mm} Total &  57,025 & 100 & 3,647 & 100\\
Veteran status & & & & \\
\hspace{3mm} Non-veteran &  50,905 & 89 & 3,299 & 90\\
\hspace{3mm} Veteran &  6,243 & 11 & 348 & 10\\
\hspace{3mm} Total &  57,148 & 100 & 3,647 & 100\\
\hline
\textit{Note:Statistics from weighted datasets.} \\
\end{tabular}
\end{table}

\begin{table}[!htbp] \centering 
\caption*{Table 7: Identity groups in surveys, \textit{extended}}
  \label{} 
\begin{tabular}{lcccc}
\hline
& CCES & 2016 & ANES & 2016\\
& N & \% & N & \%\\
\hline
Income Level & & & & \\
\hspace{3mm} 1 \textit{(poorest)} &  13,622 & 27 & 736 & 21\\
\hspace{3mm} 2 &  11,334 & 22 & 676 & 19\\
 \hspace{3mm} 3 &  8,985 & 18 & 744 & 21\\
 \hspace{3mm} 4 &  8,473 & 17 & 638 & 18\\
 \hspace{3mm} 5 \textit{(richest)} &  8,833 & 17 & 723 & 21\\
 \hspace{3mm} Total &  51,247 & 100 & 3,517 & 100\\
 Religiosity (religious service attendance) & & & & \\
\hspace{3mm} 1 \textit{(never)} &  15,116 & 27 & 1,518 & 42\\
\hspace{3mm} 2 &  13,096 & 23 & 610 & 17\\
 \hspace{3mm} 3 &  8,313 & 15 & 392 & 11\\
 \hspace{3mm} 4 &  4,679 & 8 & 441 & 12\\
 \hspace{3mm} 5 &  10,466 & 19 & 359 & 10\\
 \hspace{3mm} 6 \textit{(more than once a week)} &  4,814 & 8 & 312 & 8\\
 \hspace{3mm} Total &  56,484 & 100 & 3,647 & 100\\
 \hline
\textit{Note:Statistics from weighted datasets.} \\
\end{tabular}
\end{table}

With regards to the identity groups that Jones reported (religious, racial/ethnic, gender, LGBT, union, and veteran groups), this analysis revealed that the ANES and CCES 2016 datasets were surprisingly similar, such that both datasets included comparable proportions of individuals across groups. Additionally, \textbf{Tables 2 and 3} revealed that mean party identity, policy preference, and political awareness scores were roughly similar across the two datasets. 

Curiously, as \textbf{Table 2} reveals, there nonetheless remain substantial differences in the main models predicting policy preferences and party identity, as discussed above. One reason for these differences could be the substantial differences in sample size, whereby the CCES dataset is over 15 times larger than the ANES dataset. We were also curious if other identity groups that were not reported by Jones were similarly balanced. To determine which groups to investigate further, we re-examined \textbf{Tables 4, 5, and 6} to identify which mean scores, if any, seemed to have the largest differences. Based on this, we decided to look further into the breakdown in representation by income level and religiosity score. These differences, which were not in Jones' original analysis, are reported in \textbf{Table 7}. This investigation revealed that the ANES survey respondents were, on average, wealthier and less religious than their CCES counterparts. 

In light of this analysis, and the aforementioned discrepancies between the CCES and ANES datasets, we decided to utilize only the CCES dataset for the remainder of our analyses, due to its considerably larger sample size. 

\section{3 Impact of the 2016 election on the relationship between identity, politics, and political awareness}
Given the considerable differences in the predicted relationships between the CCES and ANES datasets, we adopted a different approach to assess whether the relationship between social identity, policy preferences, party identity, and political awareness changed over time. Specifically, the United States experienced a catalytic event in 2016 with the election of Donald Trump. The Trump campaign and subsequent election emphasized racial divides and resentment in the United States (Abramowitz & McCoy, 2019); as a result, we sought to investigate whether political awareness moderated a stronger identity-to-politics link for certain politically salient identities after 2016. Rather than examining the change over 2008-2018, which would only be feasible using a combination of ANES (2008, 2012, 2016) and CCES (2016, 2018) datasets, we instead examined whether these relationships were influenced by the 2016 election.  

We conducted this analysis using two different approaches and presented both results in the \textit{Appendix}. First, we adopted an approach similar to our investigation of the differences between the 2016 CCES and ANES datasets. We created subsets of the data for CCES 2016 and CCES 2018, and created main models predicting policy preferences (\textbf{Table 8}) and party identity (\textbf{Table 9}), interacting political awareness with key identities. We then compared the coefficients between models using the approach outlined by Clogg et al. (1995). This analysis revealed a significant difference in the impact of political awareness on policy preferences between 2016 and 2018. More specifically, holding all else constant, respondents exhibited more conservative policy preferences in 2018 as compared to 2016. However, as compared to 2016, as political awareness increased in 2018, respondents were predicted to hold more liberal policy preferences. In addition, Black and Hispanic identities both became significantly stronger predictors of liberal policy preferences in 2018 as compared to 2016. Several other identities and factors were significant predictors of more liberal policy preferences in 2018 as compared to 2016, including a female identity, high education level, and a Midwestern identity; whereas union membership, age, and income level were all significant predictors of more conservative policy preferences in 2018 compared to 2016.

Critically, however, political awareness did not moderate any of the relationships between identity and policy preferences for any group except for Black individuals, who became slightly more conservative as political awareness increased in 2018, and evangelical protestants who became significantly more conservative at  higher levels of political awareness in 2018.

We also examined the change in these relationships using a triple-interaction approach, as depicted in \textbf{Table 10}. With this approach, we did not create separate subsets of the data for 2016 and 2018, but instead added 2018 as an additional interaction term to our main models to assess whether the relationship between identity and policy preferences changed as a function of political awareness in 2018 as compared to 2016. This approach yielded similar, albeit slightly easier to interpret, results to the aforementioned analysis strategy (\textbf{Table 10}). 

\section{4 Identity intersectionality complicates the identity-to-politics link for some identities}
Jones' analysis, shown in the replicated \textbf{Figure 1}, produced surprisingly null results for certain identities that are understood to be politically relevant, including Asian and Hispanic identities. To explore this further, we added interaction terms to Jones' linear regression models for race and gender, race and region, and race and income. 

\subsection{4.1 Race and Gender}
The linear regression model in \textbf{Figure 1} observes no change in predicted policy preferences for women as they increase in political awareness, and no change in predicted party identity for men as they increase in political awareness, contrary to the political science literature which has found that women, on average, are more liberal than men (Huddy et al., 2008; Ondercin, 2017). We sought to better understand the role of gender in shaping policy preferences and party identity, as mediated by political awareness, across racial and ethnic groups using an interaction model (\textbf{Table 11}, \textbf{Figure 3}).

Our analyses show that political awareness does not moderate the relationship between social identity and policy preferences for White, Asian and Hispanic males and females; however, it does moderate this relationship for Black males and females. For female Black respondents, increasing levels of political awareness were associated with more conservative policy preferences. However, political awareness has no impact on the relationship between social identity (gender and race) and party identity.

```{r Race and Gender, warn = -1, include=FALSE}
# CCES data, party identity ** interaction race * gender
reg.c.pid8 <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       race*female*aware.p + 
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, w.cces)

# CCES data, policy preferences ** interaction race and gender
reg.c.atts_2 <- svyglm(atts~
                         race*aware.p+
                         religion*aware.p+
                         female*aware.p+
                         lgbt*aware.p+
                         union.member*aware.p+
                         veteran*aware.p+
                         race*female*aware.p+
                         age+married+income+educ+rel.atd+region+year, w.cces)

# ANES data, party identity ** interaction race and gender
reg.a.pid8 <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       race*female*aware.p + 
                       age+married+income+educ+rel.atd+region+year, w.anes)

# ANES data, policy preferences ** interaction race*gender
reg.a.atts_2 <- svyglm(atts~
                         race*aware.p+
                         religion*aware.p+
                         female*aware.p+
                         lgbt*aware.p+
                         union.member*aware.p+
                         veteran*aware.p+
                         race*female*aware.p+
                         age+married+income+educ+rel.atd+region+year, w.anes)

## Race and Gender ## 

# (female) Party identity and racial/ethnic identities
evs.c.pid8.race_female <- rbind(ans.ci(predict(reg.c.pid8, c.ctrl, type="response")),
                                ans.ci(predict(reg.c.pid8, replace(c.ctrl, "race", "Black"), type="response")),
                                ans.ci(predict(reg.c.pid8, replace(c.ctrl, "race", "Hispanic"), type="response")),
                                ans.ci(predict(reg.c.pid8, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.pid8.race_female$id.group <- c(rep("White", length(aware.p)), 
                                     rep("Black", length(aware.p)), 
                                     rep("Hispanic", length(aware.p)), 
                                     rep("Asian", length(aware.p)))  
evs.c.pid8.race_female$aware.p <- aware.p  
gg.c.pid7.race_female <- ggplot(evs.c.pid8.race_female, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party Identity") + ggtitle("Race and ethnicity (Female)") +
  geom_text(data=subset(evs.c.pid8.race_female, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (male) Party identity, Race & Gender
c.ctrl_male = replace(c.ctrl, "female", 0)
evs.c.pid8.race_male <- rbind(ans.ci(predict(reg.c.pid8, c.ctrl_male, type="response")),
                              ans.ci(predict(reg.c.pid8, replace(c.ctrl_male, "race", "Black"), type="response")),
                              ans.ci(predict(reg.c.pid8, replace(c.ctrl_male, "race", "Hispanic"), type="response")),
                              ans.ci(predict(reg.c.pid8, replace(c.ctrl_male, "race", "Asian"), type="response")))
evs.c.pid8.race_male$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.pid8.race_male$aware.p <- aware.p  
gg.c.pid8.race_gender_male <- ggplot(evs.c.pid8.race_male, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("Race and ethnicity (Male)") +
  geom_text(data=subset(evs.c.pid8.race_male, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()


interaction_2 = gg.c.pid7.race_female + gg.c.pid8.race_gender_male + plot_layout(nrow = 1)
interaction_2


# (female) Policy preferences and racial/ethnic identities
evs.c.atts.race_female <- rbind(ans.ci(predict(reg.c.atts_2, c.ctrl, type="response")),
                                ans.ci(predict(reg.c.atts_2, replace(c.ctrl, "race", "Black"), type="response")),
                                ans.ci(predict(reg.c.atts_2, replace(c.ctrl, "race", "Hispanic"), type="response")),
                                ans.ci(predict(reg.c.atts_2, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.atts.race_female$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.atts.race_female$aware.p <- aware.p  
gg.c.atts.race_female <- ggplot(evs.c.atts.race_female, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Policy Preferences") + ggtitle("Race and Gender (Female)") +
  geom_text(data=subset(evs.c.atts.race_female, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# (male) Policy preferences and racial/ethnic identities
c.ctrl_male_2 = replace(c.ctrl, "female", 0)
evs.c.atts.race_male <- rbind(ans.ci(predict(reg.c.atts_2, c.ctrl, type="response")),
                              ans.ci(predict(reg.c.atts_2, replace(c.ctrl, "race", "Black"), type="response")),
                              ans.ci(predict(reg.c.atts_2, replace(c.ctrl, "race", "Hispanic"), type="response")),
                              ans.ci(predict(reg.c.atts_2, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.atts.race_male$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.atts.race_male$aware.p <- aware.p  
gg.c.atts.race_male <- ggplot(evs.c.atts.race_male, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("Race and Gender (Male)") +
  geom_text(data=subset(evs.c.atts.race_female, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.7) +
  coord_cartesian(clip='off') +
  theme_idkn2()

## CREATE FIGURE ##
interaction_1 = gg.c.atts.race_female + gg.c.atts.race_male + plot_layout(nrow = 1)

## Race and Gender ## 

# (female) Party identity and racial/ethnic identities
evs.c.pid8.race_female <- rbind(ans.ci(predict(reg.c.pid8, c.ctrl, type="response")),
                                ans.ci(predict(reg.c.pid8, replace(c.ctrl, "race", "Black"), type="response")),
                                ans.ci(predict(reg.c.pid8, replace(c.ctrl, "race", "Hispanic"), type="response")),
                                ans.ci(predict(reg.c.pid8, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.pid8.race_female$id.group <- c(rep("White", length(aware.p)), 
                                     rep("Black", length(aware.p)), 
                                     rep("Hispanic", length(aware.p)), 
                                     rep("Asian", length(aware.p)))  
evs.c.pid8.race_female$aware.p <- aware.p  
gg.c.pid7.race_female <- ggplot(evs.c.pid8.race_female, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party Identity") + ggtitle("Race and ethnicity (Female)") +
  geom_text(data=subset(evs.c.pid8.race_female, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()


# (male) Party identity, Race & Gender
c.ctrl_male = replace(c.ctrl, "female", 0)
evs.c.pid8.race_male <- rbind(ans.ci(predict(reg.c.pid8, c.ctrl_male, type="response")),
                              ans.ci(predict(reg.c.pid8, replace(c.ctrl_male, "race", "Black"), type="response")),
                              ans.ci(predict(reg.c.pid8, replace(c.ctrl_male, "race", "Hispanic"), type="response")),
                              ans.ci(predict(reg.c.pid8, replace(c.ctrl_male, "race", "Asian"), type="response")))
evs.c.pid8.race_male$id.group <- c(rep("White", length(aware.p)), rep("Black", length(aware.p)), rep("Hispanic", length(aware.p)), rep("Asian", length(aware.p)))  
evs.c.pid8.race_male$aware.p <- aware.p  
gg.c.pid8.race_gender_male <- ggplot(evs.c.pid8.race_male, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("") + ggtitle("Race and ethnicity (Male)") +
  geom_text(data=subset(evs.c.pid8.race_male, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

f2_row1 <- gg.c.atts.race_female + gg.c.atts.race_male + plot_layout(nrow = 1)
f2_row2 <- gg.c.pid7.race_female + gg.c.pid8.race_gender_male + plot_layout(nrow = 1)
f2_title1 <- ggdraw() 
f2_title2 <- ggdraw() 
race_gender = f2_title1 / f2_row1 / plot_spacer() / f2_title2 / f2_row2 + plot_layout(heights=c(.3, 1,.05,.3,1))

```

```{r Race and Gender FIGURE, fig.cap='Party Identity and race interacted with gender.', fig.align='center', echo=FALSE}
race_gender
```

\begin{table}[!htbp] 
\small
\centering 
\caption*{Table 11: Race and Gender Interaction Model} \label{tab:title} 
\begin{tabular}{@{\extracolsep{5pt}}lcccc} 
\\[-1.2ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
 & Policy (CCES) & Party (CCES) \\ 
\hline \\[-1.8ex]
Intercept & 0.596$^{***}$ (0.009) & 0.442$^{***}$ (0.013) \\ 
Awareness & $-$0.080$^{***}$ (0.013) & $-$0.006 (0.017) \\ 
Female & 0.025$^{***}$ (0.005) & 0.006 (0.008) \\ 
Awareness:Female & 0.087$^{***}$ (0.009) & 0.072$^{***}$ (0.013)\\
\\
 Asian & 0.109$^{***}$ (0.015) & 0.183$^{***}$ (0.028) \\ 
 Black & 0.045$^{***}$ (0.011) & 0.300$^{***}$ (0.018) \\ 
 Hispanic & 0.075$^{***}$ (0.012) & 0.209$^{***}$ (0.020)  \\ 
 Other (Race) & 0.067$^{***}$ (0.018) & 0.083$^{***}$ (0.027) \\ 
 \\
Asian:Female & $-$0.039$^{*}$ (0.021) & $-$0.026 (0.040) \\ 
Black:Female & 0.033$^{**}$ (0.013) & 0.080$^{***}$ (0.021) \\ 
Hispanic:Female & 0.008 (0.014) & 0.003 (0.026) \\ 
Other (race):Female & 0.008 (0.021) & 0.069$^{**}$ (0.032)\\ 
\\
Asian:Awareness & $-$0.024 (0.033) & $-$0.140$^{***}$ (0.049)\\ 
Black:Awareness & 0.305$^{***}$ (0.023) & 0.131$^{***}$ (0.034)\\   Hispanic:Awareness & 0.070$^{***}$ (0.025) & $-$0.080$^{**}$ (0.036)\\
Other (race):Awareness & $-$0.141$^{***}$ (0.030) & $-$0.079$^{**}$ (0.039) \\ 
\\
 Asian:Awareness:Female & $-$0.008 (0.050) & 0.005 (0.076) \\ 
 Black:Awareness:Female & $-$0.107$^{***}$ (0.028) & $-$0.067 (0.041)\\ 
 Hispanic:Awareness:Female & $-$0.057 (0.035) & 0.025 (0.052)\\ 
 Other (race):Awareness:Female & 0.042 (0.040) & $-$0.054 (0.051)\\  \\
Catholic & 0.008 (0.007) & 0.071$^{***}$ (0.011)\\ 
Evangelical Protestant & $-$0.026$^{***}$ (0.007) & $-$0.032$^{***}$ (0.011)\\ 
Jewish & 0.0005 (0.016) & 0.012 (0.035)\\ 
Secular & $-$0.039$^{***}$ (0.007) & $-$0.017$^{*}$ (0.010)\\ 
Other (Religion) & $-$0.043$^{***}$ (0.008) & $-$0.010 (0.013)\\ 
\\
Catholic:Awareness & $-$0.056$^{***}$ (0.014) & $-$0.106$^{***}$ (0.019)\\ 
Evangelical Protestant:Awareness & $-$0.189$^{***}$ (0.013) & $-$0.159$^{***}$ (0.018)\\ 
Jewish:Awareness & 0.170$^{***}$ (0.026) & 0.195$^{***}$ (0.049)\\ 
Secular:Awareness & 0.191$^{***}$ (0.012) & 0.179$^{***}$ (0.016)\\ 
Other:Awareness & 0.047$^{***}$ (0.016) & 0.025 (0.022)\\ 
\\
LGBT & 0.026$^{***}$ (0.007) & 0.082$^{***}$ (0.012)\\ 
Union & $-$0.026$^{***}$ (0.008) & 0.036$^{**}$ (0.015)\\ 
Veteran & $-$0.010 (0.008) & $-$0.024$^{*}$ (0.013) \\ 
 \\
LGBT:Awareness & 0.153$^{***}$ (0.012) & 0.104$^{***}$ (0.018)\\ 
Union:Awareness& 0.092$^{***}$ (0.015) & 0.050$^{**}$ (0.023)\\ 
Veteran:Awareness & $-$0.079$^{***}$ (0.013) & $-$0.048$^{**}$ (0.019) \\ 
\\
Age & $-$0.001$^{***}$ (0.0001) & 0.0002$^{**}$ (0.0001)\\ 
Married & $-$0.038$^{***}$ (0.002) & $-$0.027$^{***}$ (0.003)\\ 
Income & 0.0005 (0.001) & $-$0.008$^{***}$ (0.001)\\ 
Education & 0.033$^{***}$ (0.001) & 0.027$^{***}$ (0.002)\\ 
Religiosity & $-$0.025$^{***}$ (0.001) & $-$0.022$^{***}$ (0.001) \\ 
\\
Region & & & & \\ 
\hspace{3mm}Midwest & 0.014$^{***}$ (0.003) & 0.028$^{***}$ (0.004)\\ 
  \hspace{3mm}Northeast & 0.045$^{***}$ (0.003) & 0.055$^{***}$ (0.004)\\ 
\hspace{3mm}West & 0.025$^{***}$ (0.003) & 0.034$^{***}$ (0.004) \\ 
\\
Year & & & & \\
 \hspace{3mm} 2018 & $-$0.021$^{***}$ (0.002) & $-$0.024$^{***}$ (0.003)\\ 
 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186\\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{4}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\subsection{4.2 Race and
Region}

We were also curious as to whether the relationship between race/ethnicity, politics, and political awareness was influenced by geographic region of the country, since certain regions hold more liberal or conservative on average beliefs than others, such as the Northeast and the South respectively (Gallup, 2022).  

Our analyses \textbf{(Table 12, Figure 4} & \textbf{Figure 5)} provide some evidence that as political awareness increases, individuals in two racial minority groups, Blacks and Asians, have a stronger identity-to-liberal-politics link in the South than in any other region (Midwest, Northeast, or West). For example, in \textbf{Table 12}, though not all statistically significant, each of the coefficients for the triple interactions of race (Asian or Black), awareness, and region are negative, revealing that relative to Asians and Blacks in the South, Asian and Black individuals in all other regions hold relatively less liberal policy preferences. Politically aware Asians in the Midwest and West have significantly less liberal policy preferences than politically aware Asians in the South, while politically aware Black individuals in the Northeast and West have significantly less liberal policy preferences than politically aware Blacks in the South. Coefficients for politically aware Hispanics and racial others, meanwhile, were not significant. 

One explanation for why racial minorities like Asians or Blacks have a stronger identity-to-liberal-politics link in the South is that the region has a rich history of overt racial exclusion, discrimination, and violence (McGhee, 2022). Greater awareness of politics in this region may also encompass a greater awareness of racial politics, such as knowledge of the Civil Rights movement that led to greater freedoms and equal treatment for Black Americans. A knowledge of this history, and the impact of progressive civil rights policies, may prompt Black individuals in the South to be more liberal relative to other regions. Another possible explanation is that racial minorities may face more overt discrimination and racism in the South (Kuklinski et al., 1997; Valentino & Sears, 2005), which may beget more liberal policy preferences. While other regions in the United States are far from devoid of racism, life in the South as an Asian or Black person may make one’s identity as a racial minority more salient, strengthening the identity-to-politics link. 

```{r Race and Region, warn = -1, include=FALSE}
## Race and Region ##
# CCES data, party identity ** interaction race and region
reg.c.pid7_race.reg <- svyglm(pid7~
                                race*aware.p+
                                religion*aware.p+
                                female*aware.p+
                                lgbt*aware.p+
                                union.member*aware.p+
                                race*region*aware.p + 
                                veteran*aware.p+
                                age+married+income+educ+rel.atd+region+year, w.cces)

# CCES data, policy preferences ** interaction race and region
reg.c.atts_race.reg <- svyglm(atts~
                                race*aware.p+
                                religion*aware.p+
                                female*aware.p+
                                lgbt*aware.p+
                                union.member*aware.p+
                                veteran*aware.p+
                                race*region*aware.p+
                                age+married+income+educ+rel.atd+region+year, w.cces)

# ANES data, party identity ** interaction race and region
reg.a.pid7_race.reg <- svyglm(pid7~
                                race*aware.p+
                                religion*aware.p+
                                female*aware.p+
                                lgbt*aware.p+
                                union.member*aware.p+
                                veteran*aware.p+
                                race*region*aware.p+
                                age+married+income+educ+rel.atd+region+year, w.anes)

# ANES data, policy preferences ** interaction race*region
reg.a.atts_race.reg<- svyglm(atts~
                               race*aware.p+
                               religion*aware.p+
                               female*aware.p+
                               lgbt*aware.p+
                               union.member*aware.p+
                               veteran*aware.p+
                               race*region*aware.p+
                               age+married+income+educ+rel.atd+region+year, w.anes)

######### Race and Region #########

# CCES Party identity and interaction with Race and Region (Northeast)
c.ctrl_north = replace(c.ctrl, "region", "Northeast")
evs.c.pid7.race_north <- rbind(ans.ci(predict(reg.c.pid7_race.reg, c.ctrl_north, type="response")),
                               ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_north, "race", "Black"), type="response")),
                               ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_north, "race", "Hispanic"), type="response")),
                               ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_north, "race", "Asian"), type="response")))
evs.c.pid7.race_north$id.group <- c(rep("White", length(aware.p)), 
                                    rep("Black", length(aware.p)), 
                                    rep("Hispanic", length(aware.p)), 
                                    rep("Asian", length(aware.p)))  
evs.c.pid7.race_north$aware.p <- aware.p  
gg.c.pid7.race_north <- ggplot(evs.c.pid7.race_north, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party Identity") + ggtitle("Race and Region (Northeast)") +
  geom_text(data=subset(evs.c.pid7.race_north, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# CCES Party identity and interaction with Race and Region (South)
evs.c.pid7.race_south <- rbind(ans.ci(predict(reg.c.pid7_race.reg, c.ctrl, type="response")),
                               ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl, "race", "Black"), type="response")),
                               ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl, "race", "Hispanic"), type="response")),
                               ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.pid7.race_south$id.group <- c(rep("White", length(aware.p)), 
                                    rep("Black", length(aware.p)), 
                                    rep("Hispanic", length(aware.p)), 
                                    rep("Asian", length(aware.p)))  
evs.c.pid7.race_south$aware.p <- aware.p  
gg.c.pid7.race_south <- ggplot(evs.c.pid7.race_south, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party Identity") + ggtitle("Race and Region (South)") +
  geom_text(data=subset(evs.c.pid7.race_south, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# CCES Party identity and interaction with Race and Region (Midwest)
c.ctrl_midwest = replace(c.ctrl, "region", "Midwest")
evs.c.pid7.race_midwest <- rbind(ans.ci(predict(reg.c.pid7_race.reg, c.ctrl_midwest, type="response")),
                                 ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_midwest, "race", "Black"), type="response")),
                                 ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_midwest, "race", "Hispanic"), type="response")),
                                 ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_midwest, "race", "Asian"), type="response")))
evs.c.pid7.race_midwest$id.group <- c(rep("White", length(aware.p)), 
                                      rep("Black", length(aware.p)), 
                                      rep("Hispanic", length(aware.p)), 
                                      rep("Asian", length(aware.p)))  
evs.c.pid7.race_midwest$aware.p <- aware.p  
gg.c.pid7.race_midwest <- ggplot(evs.c.pid7.race_midwest, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party Identity") + ggtitle("Race and Region (Midwest)") +
  geom_text(data=subset(evs.c.pid7.race_midwest, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# CCES Party identity and interaction with Race and Region (West)
c.ctrl_west = replace(c.ctrl, "region", "West")
evs.c.pid7.race_west <- rbind(ans.ci(predict(reg.c.pid7_race.reg, c.ctrl_west, type="response")),
                              ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_west, "race", "Black"), type="response")),
                              ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_west, "race", "Hispanic"), type="response")),
                              ans.ci(predict(reg.c.pid7_race.reg, replace(c.ctrl_west, "race", "Asian"), type="response")))
evs.c.pid7.race_west$id.group <- c(rep("White", length(aware.p)), 
                                   rep("Black", length(aware.p)), 
                                   rep("Hispanic", length(aware.p)), 
                                   rep("Asian", length(aware.p)))  
evs.c.pid7.race_west$aware.p <- aware.p  
gg.c.pid7.race_west <- ggplot(evs.c.pid7.race_west, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted Party Identity") + ggtitle("Race and Region (West)") +
  geom_text(data=subset(evs.c.pid7.race_west, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

c.pid.interaction_race.region = gg.c.pid7.race_north + gg.c.pid7.race_south + gg.c.pid7.race_midwest + gg.c.pid7.race_west + plot_layout(nrow = 2)

## CCES POLICY PREFERENCES ##

# CCES Party identity and interaction with Race and Region (Northeast)
c.ctrl_north = replace(c.ctrl, "region", "Northeast")
evs.c.atts.race_north <- rbind(ans.ci(predict(reg.c.atts_race.reg, c.ctrl_north, type="response")),
                               ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_north, "race", "Black"), type="response")),
                               ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_north, "race", "Hispanic"), type="response")),
                               ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_north, "race", "Asian"), type="response")))
evs.c.atts.race_north$id.group <- c(rep("White", length(aware.p)), 
                                    rep("Black", length(aware.p)), 
                                    rep("Hispanic", length(aware.p)), 
                                    rep("Asian", length(aware.p)))  
evs.c.atts.race_north$aware.p <- aware.p  
gg.c.atts.race_north <- ggplot(evs.c.atts.race_north, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("Race and Region (Northeast)") +
  geom_text(data=subset(evs.c.atts.race_north, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# CCES Party identity and interaction with Race and Region (South)
evs.c.atts.race_south <- rbind(ans.ci(predict(reg.c.atts_race.reg, c.ctrl, type="response")),
                               ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl, "race", "Black"), type="response")),
                               ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl, "race", "Hispanic"), type="response")),
                               ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl, "race", "Asian"), type="response")))
evs.c.atts.race_south$id.group <- c(rep("White", length(aware.p)), 
                                    rep("Black", length(aware.p)), 
                                    rep("Hispanic", length(aware.p)), 
                                    rep("Asian", length(aware.p)))  
evs.c.atts.race_south$aware.p <- aware.p  
gg.c.atts.race_south <- ggplot(evs.c.atts.race_south, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("Race and Region (South)") +
  geom_text(data=subset(evs.c.atts.race_south, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# CCES Party identity and interaction with Race and Region (Midwest)
c.ctrl_midwest = replace(c.ctrl, "region", "Midwest")
evs.c.atts.race_midwest <- rbind(ans.ci(predict(reg.c.atts_race.reg, c.ctrl_midwest, type="response")),
                                 ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_midwest, "race", "Black"), type="response")),
                                 ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_midwest, "race", "Hispanic"), type="response")),
                                 ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_midwest, "race", "Asian"), type="response")))
evs.c.atts.race_midwest$id.group <- c(rep("White", length(aware.p)), 
                                      rep("Black", length(aware.p)), 
                                      rep("Hispanic", length(aware.p)), 
                                      rep("Asian", length(aware.p)))  
evs.c.atts.race_midwest$aware.p <- aware.p  
gg.c.atts.race_midwest <- ggplot(evs.c.atts.race_midwest, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("Race and Region (Midwest)") +
  geom_text(data=subset(evs.c.atts.race_midwest, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

# CCES Party identity and interaction with Race and Region (West)
c.ctrl_west = replace(c.ctrl, "region", "West")
evs.c.atts.race_west <- rbind(ans.ci(predict(reg.c.atts_race.reg, c.ctrl_west, type="response")),
                              ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_west, "race", "Black"), type="response")),
                              ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_west, "race", "Hispanic"), type="response")),
                              ans.ci(predict(reg.c.atts_race.reg, replace(c.ctrl_west, "race", "Asian"), type="response")))
evs.c.atts.race_west$id.group <- c(rep("White", length(aware.p)), 
                                   rep("Black", length(aware.p)), 
                                   rep("Hispanic", length(aware.p)), 
                                   rep("Asian", length(aware.p)))  
evs.c.atts.race_west$aware.p <- aware.p  
gg.c.atts.race_west <- ggplot(evs.c.atts.race_west, aes(x=aware.p, y=est, ymin=lo, ymax=hi, group=id.group, linetype=id.group)) +
  geom_ribbon(alpha=.2) + ylim(0,1) +
  scale_x_continuous(breaks=c(0,.25,.5,.75,1), labels=c(0,25,50,75,100)) +
  geom_line() + xlab("Political awareness percentile") + ylab("Predicted policy preferences") + ggtitle("Race and Region (West)") +
  geom_text(data=subset(evs.c.atts.race_west, aware.p==1), aes(label=id.group), hjust=0, nudge_x =0.02, lineheight=.8) +
  coord_cartesian(clip='off') +
  theme_idkn2()

c.pp.interaction_race.region = gg.c.atts.race_north + gg.c.atts.race_south + gg.c.atts.race_midwest + gg.c.atts.race_west + plot_layout(nrow = 2)
c.pp.interaction_race.region
```

```{r Race and Region PID FIGURE, fig.cap='Party Identity and race interacted with region', fig.align='center', echo=FALSE}
c.pid.interaction_race.region
```

```{r Race and Region PP FIGURE, fig.cap='Policy preferences and race interacted with region', fig.align='center', echo=FALSE}
c.pp.interaction_race.region
```

\begin{table}[ht!] \centering 
  \caption*{Table 12: Race and Region Interaction Model, \textit{key results}}  
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\\[-1.8ex] 
 & Policy Preferences & Party Identity \\ 
\\[-1.8ex] & (CCES) & (CCES) \\ 
\hline \\[-1.8ex] 
Intercept & 0.591$^{***}$ (0.009) & 0.418$^{***}$ (0.013) \\ 
Awareness & $-$0.077$^{***}$ (0.013) & 0.017 (0.018) \\ 
\\

  Asian:Awareness:Midwest & $-$0.157$^{**}$ (0.074) & $-$0.043 (0.116) \\ 
  Asian:Awareness:Northeast & $-$0.055 (0.061) & 0.025 (0.111) \\ 
  Asian:Awareness:West & $-$0.126$^{**}$ (0.058) & $-$0.174$^{*}$ (0.097) \\ 
  \\
  Black:Awareness:Midwest & $-$0.018 (0.035) & $-$0.029 (0.051) \\ 
  Black:Awareness:Northeast & $-$0.090$^{**}$ (0.041) & $-$0.036 (0.054) \\ 
  Black:Awareness:West & $-$0.097$^{**}$ (0.045) & $-$0.108$^{*}$ (0.060) \\ 
 \\
  Hispanic:Awareness:Midwest & 0.039 (0.050) & 0.044 (0.076) \\ 
  Hispanic:Awareness:Northeast & 0.091$^{*}$ (0.053) & 0.102 (0.081) \\ 
  Hispanic:Awareness:West & $-$0.047 (0.040) & 0.015 (0.059) \\
  \\
  Other:Awareness:Midwest & 0.003 (0.052) & 0.040 (0.068) \\ Other:Awareness:Northeast & $-$0.086 (0.064) & $-$0.087 (0.084) \\ 
 Other:Awareness:West & 0.068 (0.048) & $-$0.016 (0.064) \\ 
 \\ 
 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
For full regression results, see \textit{Appendix}
\end{tabular} 
\end{table} 

\subsection{4.3 Race and Income}
Finally, we observe that the identity-to-politics relationship is also more nuanced when income level intersects with race. Jones grouped respondents' income level into quintiles by survey year, represented in the data on a scale ranging from 1 (poorest fifth) to 5 (richest). Again, we observe marked differences from the original, aggregated models as shown in \textbf{Table 13}, \textbf{Figure 6}, and \textbf{Figure 7}. For example, relative to the poorest Black individuals, as political awareness increases, Black individuals of all other income levels are predicted to exhibit relatively more conservative policy preferences. Similarly, relative to the poorest Hispanic individuals, as political awareness increases, Hispanic individuals of all other income levels are predicted to exhibit more conservative party identification. Finally, relative to the poorest Asian individuals, as political awareness increases, the wealthiest Asian individuals are predicted to exhibit significantly more conservative party identification. These results present a significant departure from Jones' original analysis, which revealed that the politics of Hispanic and Asian individuals were largely unaffected by increases in political awareness. 

```{r Race and Income, warn = -1, include=FALSE}


# CCES data, party identity ** interaction race and income
reg.c.pid7_race.inc <- svyglm(
  pid7 ~
    race * aware.p +
    religion * aware.p +
    female * aware.p +
    lgbt * aware.p +
    union.member * aware.p +
    race * factor(income) * aware.p +
    veteran * aware.p +
    age + married + factor(income) + educ + rel.atd +
    region + year,
  w.cces
)

# CCES data, policy preferences ** interaction race and income
reg.c.atts_race.inc <- svyglm(
  atts ~
    race * aware.p +
    religion * aware.p +
    female * aware.p +
    lgbt * aware.p +
    union.member * aware.p +
    veteran * aware.p +
    race * factor(income) * aware.p +
    age + married + factor(income) + educ + rel.atd +
    region + year,
  w.cces
)

# ANES data, party identity ** interaction race and income
reg.a.pid7_race.inc <- svyglm(
  pid7 ~
    race * aware.p +
    religion * aware.p +
    female * aware.p +
    lgbt * aware.p +
    union.member * aware.p +
    veteran * aware.p +
    race * factor(income) * aware.p +
    age + married + factor(income) + educ + rel.atd +
    region + year,
  w.anes
)

# ANES data, policy preferences ** interaction race*income
reg.a.atts_race.inc <- svyglm(
  atts ~
    race * aware.p +
    religion * aware.p +
    female * aware.p +
    lgbt * aware.p +
    union.member * aware.p +
    veteran * aware.p +
    race * factor(income) * aware.p +
    age + married + factor(income) + educ + rel.atd +
    region + year,
  w.anes
)


### make one plot per race, with income level varied in each plot

c.ctrl_race = c.ctrl ## starts at white
c.ctrl_white = c.ctrl_race
c.ctrl_black = replace(c.ctrl_race, "race", "Black")
c.ctrl_hispanic = replace(c.ctrl_race, "race", "Hispanic")
c.ctrl_asian = replace(c.ctrl_race, "race", "Asian")


### PARTY ID
evs.c.pid7.white_income = rbind(
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_white , "income" , 1), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_white , "income" , 2), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_white , "income" , 3), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_white , "income" , 4), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_white , "income" , 5), type = "response"
  ))
)
evs.c.pid7.white_income$id.group <- c(
  rep("One", length(aware.p)),
  rep("Two", length(aware.p)),
  rep("Three", length(aware.p)),
  rep("Four", length(aware.p)),
  rep("Five", length(aware.p))
)
evs.c.pid7.white_income$aware.p <- aware.p

gg.c.pid7.white_income <-
  ggplot(
    evs.c.pid7.white_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, colour = NA) +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Party Identity") + ggtitle("Race and income (White)") +
  geom_text(
    data = subset(evs.c.pid7.white_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') + 
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                                                      name = "Income Level")

white = gg.c.pid7.white_income +  guides(color = "none")

evs.c.pid7.black_income = rbind(
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_black , "income" , 1), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_black , "income" , 2), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_black , "income" , 3), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_black , "income" , 4), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_black , "income" , 5), type = "response"
  ))
)
evs.c.pid7.black_income$id.group <- c(
  rep("One", length(aware.p)),
  rep("Two", length(aware.p)),
  rep("Three", length(aware.p)),
  rep("Four", length(aware.p)),
  rep("Five", length(aware.p))
)
evs.c.pid7.black_income$aware.p <- aware.p

gg.c.pid7.black_income <-
  ggplot(
    evs.c.pid7.black_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA)  +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Party Identity") + ggtitle("Race and income (Black)") +
  geom_text(
    data = subset(evs.c.pid7.black_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') +
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                      name = "Income Level")

black = gg.c.pid7.black_income  + guides(color = "none")



evs.c.pid7.hispanic_income = rbind(
  ans.ci(predict(
    reg.c.pid7_race.inc,
    replace(c.ctrl_hispanic , "income" , 1),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc,
    replace(c.ctrl_hispanic , "income" , 2),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc,
    replace(c.ctrl_hispanic , "income" , 3),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc,
    replace(c.ctrl_hispanic , "income" , 4),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc,
    replace(c.ctrl_hispanic , "income" , 5),
    type = "response"
  ))
)
evs.c.pid7.hispanic_income$id.group <-
  c(
    rep("One", length(aware.p)),
    rep("Two", length(aware.p)),
    rep("Three", length(aware.p)),
    rep("Four", length(aware.p)),
    rep("Five", length(aware.p))
  )
evs.c.pid7.hispanic_income$aware.p <- aware.p

gg.c.pid7.hispanic_income <-
  ggplot(
    evs.c.pid7.hispanic_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA)  +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Party Identity") + ggtitle("Race and income (Hispanic)") +
  geom_text(
    data = subset(evs.c.pid7.hispanic_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') +
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                      name = "Income Level")

hispanic = gg.c.pid7.hispanic_income + guides(color = "none")


evs.c.pid7.asian_income = rbind(
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_asian , "income" , 1), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_asian , "income" , 2), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_asian , "income" , 3), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_asian , "income" , 4), type = "response"
  )),
  ans.ci(predict(
    reg.c.pid7_race.inc, replace(c.ctrl_asian , "income" , 5), type = "response"
  ))
)
evs.c.pid7.asian_income$id.group <- c(
  rep("One", length(aware.p)),
  rep("Two", length(aware.p)),
  rep("Three", length(aware.p)),
  rep("Four", length(aware.p)),
  rep("Five", length(aware.p))
)
evs.c.pid7.asian_income$aware.p <- aware.p

gg.c.pid7.asian_income <-
  ggplot(
    evs.c.pid7.asian_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA) +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Party Identity") + ggtitle("Race and income (Asian)") +
  geom_text(
    data = subset(evs.c.pid7.asian_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') +
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                      name = "Income Level")


asian = gg.c.pid7.asian_income + guides(color = "none")

c.id.interaction_race.income = (white +
                                  theme(plot.margin = unit(c(0, 30, 0, 0), "pt"))
                                + black + hispanic + asian)  +
  plot_layout(guides = "collect")


### POLICY PREFS
evs.c.atts.white_income = rbind(
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_white , "income" , 1), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_white , "income" , 2), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_white , "income" , 3), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_white , "income" , 4), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_white , "income" , 5), type = "response"
  ))
)
evs.c.atts.white_income$id.group <- c(
  rep("One", length(aware.p)),
  rep("Two", length(aware.p)),
  rep("Three", length(aware.p)),
  rep("Four", length(aware.p)),
  rep("Five", length(aware.p))
)
evs.c.atts.white_income$aware.p <- aware.p

gg.c.atts.white_income <-
  ggplot(
    evs.c.atts.white_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA) +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") +
  ylab("Predicted Policy Preferences") + ggtitle("Race and income (White)") +
  geom_text(
    data = subset(evs.c.atts.white_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') + 
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                                                      name = "Income Level")

white_atts = gg.c.atts.white_income + guides(color = "none")

evs.c.atts.black_income = rbind(
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_black , "income" , 1), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_black , "income" , 2), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_black , "income" , 3), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_black , "income" , 4), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_black , "income" , 5), type = "response"
  ))
)
evs.c.atts.black_income$id.group <- c(
  rep("One", length(aware.p)),
  rep("Two", length(aware.p)),
  rep("Three", length(aware.p)),
  rep("Four", length(aware.p)),
  rep("Five", length(aware.p))
)
evs.c.atts.black_income$aware.p <- aware.p

gg.c.atts.black_income <-
  ggplot(
    evs.c.atts.black_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA)  +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Policy Preferences") + ggtitle("Race and income (Black)") +
  geom_text(
    data = subset(evs.c.atts.black_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') + 
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                                                      name = "Income Level")

black_atts = gg.c.atts.black_income + guides(color = "none")



evs.c.atts.hispanic_income = rbind(
  ans.ci(predict(
    reg.c.atts_race.inc,
    replace(c.ctrl_hispanic , "income" , 1),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc,
    replace(c.ctrl_hispanic , "income" , 2),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc,
    replace(c.ctrl_hispanic , "income" , 3),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc,
    replace(c.ctrl_hispanic , "income" , 4),
    type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc,
    replace(c.ctrl_hispanic , "income" , 5),
    type = "response"
  ))
)
evs.c.atts.hispanic_income$id.group <-
  c(
    rep("One", length(aware.p)),
    rep("Two", length(aware.p)),
    rep("Three", length(aware.p)),
    rep("Four", length(aware.p)),
    rep("Five", length(aware.p))
  )
evs.c.atts.hispanic_income$aware.p <- aware.p

gg.c.atts.hispanic_income <-
  ggplot(
    evs.c.atts.hispanic_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA)  +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Policy Preferences") + ggtitle("Race and income (Hispanic)") +
  geom_text(
    data = subset(evs.c.atts.hispanic_income, aware.p == 1),
    aes(label = id.group),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') + 
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                                                      name = "Income Level")

hispanic_atts = gg.c.atts.hispanic_income + guides(color = "none")


evs.c.atts.asian_income = rbind(
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_asian , "income" , 1), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_asian , "income" , 2), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_asian , "income" , 3), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_asian , "income" , 4), type = "response"
  )),
  ans.ci(predict(
    reg.c.atts_race.inc, replace(c.ctrl_asian , "income" , 5), type = "response"
  ))
)
evs.c.atts.asian_income$id.group <- c(
  rep("One", length(aware.p)),
  rep("Two", length(aware.p)),
  rep("Three", length(aware.p)),
  rep("Four", length(aware.p)),
  rep("Five", length(aware.p))
)
evs.c.atts.asian_income$aware.p <- aware.p

gg.c.atts.asian_income <-
  ggplot(
    evs.c.atts.asian_income,
    aes(
      x = aware.p,
      y = est,
      ymin = lo,
      ymax = hi,
      group = id.group,
      color = id.group,
      fill = id.group
    )
  ) +
  geom_ribbon(alpha = .2, color = NA) +
  scale_x_continuous(breaks = c(0, .25, .5, .75, 1),
                     labels = c(0, 25, 50, 75, 100)) +
  geom_line() + xlab("Political awareness percentile") + 
  ylab("Predicted Policy Preferences") + ggtitle("Race and income (Asian)") +
  geom_text(
    data = subset(evs.c.atts.asian_income, aware.p == 1),
    aes(label = id.group,),
    hjust = 0,
    nudge_x = 0.02,
    lineheight = .8
  ) +
  coord_cartesian(clip = 'off') + 
  scale_fill_discrete(breaks = c('One', 'Two', 'Three', 'Four', 'Five'),
                                                      name = "Income Level")

asian_atts = gg.c.atts.asian_income + guides(color = "none")

c.pp.interaction_race.income = (white_atts + 
                                  theme(plot.margin = unit(c(0, 30, 0, 0), "pt")) + 
                                  black_atts + hispanic_atts + asian_atts) +
  plot_layout(guides = "collect")
```

```{r Race and Income PID FIGURE, fig.cap='Party Identity and race interacted with income', fig.align='center', echo=FALSE}
c.id.interaction_race.income
```

```{r Race and Income PP FIGURE, fig.cap='Policy preferences and race interacted with income', fig.align='center', echo=FALSE}
c.pp.interaction_race.income
```


\begin{table}[!htbp] \centering 
  \caption*{Table 13: Race and Income Interaction Model, \textit{key results}}  
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
\\[-1.8ex] 
 & Policy Preferences & Party Identity \\ 
\\[-1.8ex] & (CCES) & (CCES) \\ 
\hline \\[-1.8ex] 
\\
 Intercept & 0.593$^{***}$ (0.009) & 0.442$^{***}$ (0.014) \\ 
 Awareness & $-$0.065$^{***}$ (0.015) & $-$0.025 (0.020) \\ 
 \\ 
  Awareness:Income Level 2 & $-$0.009 (0.013) & 0.025 (0.018) \\ 
  Awareness:Income Level 3 & $-$0.010 (0.013) & 0.047$^{**}$ (0.019) \\ 
  Awareness:Income Level 4 & $-$0.021 (0.014) & 0.028 (0.020) \\ 
  Awareness:Income Level 5 & $-$0.014 (0.014) & 0.061$^{***}$ (0.020) \\ 
  \\
  Asian:Awareness:Income Level 2 & $-$0.012 (0.100) & $-$0.011 (0.143) \\ 
  Asian:Awareness:Income Level 3 & 0.011 (0.098) & $-$0.185 (0.129) \\ 
  Asian:Awareness:Income Level 4 & 0.014 (0.100) & $-$0.208 (0.134) \\ 
  Asian:Awareness:Income Level 5 & $-$0.032 (0.090) & $-$0.311$^{***}$ (0.111)\\
  \\
  Black:Awareness:Income Level 2 & 0.055 (0.040) & $-$0.005 (0.059) \\ 
  Black:Awareness:Income Level 3 & 0.113$^{**}$ (0.046) & 0.017 (0.064) \\ 
  Black:Awareness:Income Level 4 & 0.110$^{**}$ (0.046) & 0.035 (0.067) \\ 
  Black:Awareness:Income Level 5 & 0.082$^{*}$ (0.046) & $-$0.132$^{**}$ (0.064) \\
  \\
  Hispanic:Awareness:Income Level 2 & $-$0.061 (0.052) & $-$0.131$^{*}$ (0.075) \\ 
  Hispanic:Awareness:Income Level 3 & $-$0.078 (0.054) & $-$0.206$^{***}$ (0.074) \\ 
  Hispanic:Awareness:Income Level 4 & $-$0.094 (0.057) & $-$0.179$^{**}$ (0.083) \\
  Hispanic:Awareness:Income Level 5 & $-$0.076 (0.053) & $-$0.191$^{**}$ (0.079) \\
  \\
  Other:Awareness:Income Level 2 & $-$0.077 (0.058) & $-$0.084 (0.076) \\ 
  Other:Awareness:Income Level 3 & $-$0.188$^{***}$ (0.061) & $-$0.150$^{*}$ (0.086) \\ 
  Other:Awareness:Income Level 4 & $-$0.068 (0.064) & $-$0.140$^{*}$ (0.078)\\
  Other:Awareness:Income Level 5 & $-$0.009 (0.065) & $-$0.134$^{*}$ (0.080)\\
  \\
 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
For full regression results, see \textit{Appendix}\\
\end{tabular} 
\end{table}

\section{5 Political Awareness and Intra-group Political Variation}

Finally, we sought to reckon with the null results Jones obtains for certain identities, particularly the racial/ethnic identities of Asian and Hispanic. \textbf{Figure 1} shows that as political awareness increases, Asians and Hispanics flatline at a relatively stable political preference and party identity score that is slightly more liberal than a politically moderate score of 0.50. Why, according to this model, did political awareness have little to no impact on policy preferences and party identity for these groups? We predicted that individuals at the highest political awareness level may not necessarily be moving unidirectionally towards more liberal politics, but actually bidirectionally, becoming either much more liberal or much more conservative. In this way, a simple linear regression model does not capture the full nuanced picture of ones’ politics. 

\subsection{5.1 Visualizing the relationship between political awareness and variance}
First, we tested the notion that Asian and Hispanic individuals were becoming more varied and bimodal in their politics as political awareness increased by implementing density plots. We plotted political preferences on a density plot with varying levels of political awareness: low (below the 25th percentile of awareness, shown in green), medium (between the 25th and 75th percentile, shown in blue), and high (above the 75th percentile of political awareness, shown in red) (\textbf{Figure 8}). We find that for Hispanics, the most politically aware individuals become either more liberal or more conservative than individuals in the low and medium political awareness levels. We also find this bimodal relationship at the highest level of political awareness for Whites and racial “Others” (capturing individuals who did not feel as though they belonged in the given racial categories), with the latter group becoming more conservative than they were liberal. 

Other racial identities show interesting patterns as well. While we do not see as strong of a bimodal relationship for the most politically aware Asians, we can observe that the most conservative and the most liberal individuals were more likely to be very politically aware in all five racial groups. Furthermore, consistent with Jones’ findings, highly aware Black individuals made up the highest density of the most extremely liberal individuals. As such, certain identity groups have more variance at the highest political awareness level than others. These plots show that assigning one unidirectional political ideology to social identity groups, such as labeling Hispanics typically liberal, fails to capture the nuance of ideological departures and complexities within identity groups.  

\subsection{5.2 Modeling the relationship between political awareness and variance}
In order to understand variance trends at high levels of political awareness more concretely, we implement a variance function regression (Western & Bloome, 2009), allowing us to evaluate intra-group variance rather than inter-group difference. First, we run Jones’ original linear regressions of policy preferences and party identity, interacting key social identities with political awareness. Then, we square the residuals of these models, providing us with a positive measure of variance. We then regress the squared residuals of policy preferences and party identity using gamma regressions, a type of generalized linear model that models positive and right-skewed data, with log links, following the methodology of Western and Bloom (\textbf{Table 14}). 

Our results confirm what our density plots suggested; each of the coefficients for policy preferences and party identity of Hispanics are positive and statistically significant, revealing that politically aware Hispanics have higher variance in both policy preferences and party identity than politically aware Whites. Scholarship in political science and sociology has supported the notion that Hispanics in the United States are far from monolithic, and have conflicting politics depending on immigration status or history, country of origin (U.S. or foreign born), and religiosity (Kosmin & Keysar, 1995; Taylor et al., 2012). A linear regression model fails to account for this intra-group conflict, while a model regresses variance better captures these factors. 

The variance function regression highlights other interesting relationships, such as the difference between non-politically aware and politically aware racial minorities. The coefficients for all non-White racial groups are negative and statistically significant for non-politically aware individuals, meaning that non-politically aware racial minorities have less variance in policy preferences and party identity that non-politically aware Whites. However, this changes when we interact political awareness with racial identity: highly aware Hispanics and racial "Others" exhibit more variance in their politics than highly aware Whites, while highly aware Black individuals exhibit less variance in policy preferences but more variance in party identity. Meanwhile, members of politically salient identities such as Catholics and LGBT community members have less variance in their politics as political awareness increases, becoming more uniformly conservative and liberal, respectively. 

Applying a variance regression function to this data encompasses interesting intra-group relationships that a simple linear regression does not, but more research on intra-identity group variance is needed to understand how identity and political awareness interact. For example, our model occasionally produced opposite signs for policy preferences and party identity, making it difficult to interpret the true effect of identity and political awareness on inta-group variance. However, our results begin to discern certain identities that have either conflicting, as in Hispanics, or more uniform and unidirectional politics, as in Catholics and LGBT community members.


```{r Figure 10, warn = -1, include=FALSE}
library(stats)
quantile(cces$aware.p, probs = c(0.25,0.5,0.75,0.9))
quantile(anes$aware.p, probs = c(0.25,0.5,0.75,0.9))

#CCES#
v.cces <- cces %>% 
  mutate(v.aware.p = 
           ifelse(cces$aware.p <= 0.2417333, "low", 
            ifelse(cces$aware.p >= 0.2417333 & cces$aware.p <= 0.7727864, "med", 
            ifelse(cces$aware.p >= 0.7727864, "high", NA))))

atts.var.plots.c <- v.cces %>% 
  ggplot(aes(x = atts, color=v.aware.p, weights=weight)) +
  geom_density() +
  facet_wrap(vars(race)) + 
  labs(x = "Policy Preferences",
       title = "CCES, Policy Preferences",
       caption = "Policy preferences: 0 = Very Conservative, 1 = Very Liberal") + 
  theme_bw() +
  scale_color_discrete(name  ="Political Awareness Level",
                       breaks=c("low", "med", "high"),
                       labels=c("Low", "Medium", "High")) 
```

```{r Figure 10 Variance PP FIGURE, fig.cap='Policy preferences by political awareness level. Each color represents different levels of political awareness, the X-axis represents policy preferences, and the Y-axis represents density.', fig.align='center', warning=FALSE, echo=FALSE}
atts.var.plots.c
```

```{r Gamma regressions, warn = -1, include=FALSE}
library(data.table)

## Create a linear regression
#POLICY PREFERENCES 
reg.c.atts <- svyglm(atts~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+ age+married+income+educ+rel.atd+region+year, w.cces, weights = weight)

#PARTY IDENTITY
reg.c.pid <- svyglm(pid7~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+ age+married+income+educ+rel.atd+region+year, w.cces, weights = weight)

#Extract the residuals and square them
residuals_atts <- reg.c.atts$residuals
res_sq_atts <- (residuals_atts)^2

residuals_pid <- reg.c.pid$residuals
res_sq_pid <- (residuals_pid)^2

#create new dataframes of the model results + a column for the squared residuals
cces.regression.atts <- reg.c.atts$model
cces.res.atts <- cces.regression.atts %>% 
  mutate(res_sq_atts = res_sq_atts)
setnames(cces.res.atts, old=c("(weights)"), new=c("weight"))

cces.regression.pid <- reg.c.pid$model
cces.res.pid <- cces.regression.pid %>% 
  mutate(res_sq_pid = res_sq_pid)
setnames(cces.res.pid, old=c("(weights)"), new=c("weight"))

##run these data through linear regressions with a gamma distribution
#Policy preferences
atts.g <- glm(res_sq_atts~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, cces.res.atts, family = Gamma(link="log"), weights = weight)

#Party identity
pid.g <- glm(res_sq_pid~
                       race*aware.p+
                       religion*aware.p+
                       female*aware.p+
                       lgbt*aware.p+
                       union.member*aware.p+
                       veteran*aware.p+
                       age+married+income+educ+rel.atd+region+year, cces.res.pid, family = Gamma(link="log"), weights = weight)

#Table
stargazer(atts.g, pid.g,
  single.row = T,
  stars = c(.001, .01, .05, .1),
  fontsize = "small",
  dep.var.labels.include = F,
  column.labels = c("Policy Preferences", "Party Identity"),
  type = "latex"
)
```


\begin{table}[!htbp] \centering 
  \caption*{Table 14: Variance Function Regression, \textit{key results}} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
 & Policy Preferences & Party Identity \\ 
\\[-1.8ex] & (CCES) & (CCES) \\ 
\hline \\[-1.8ex]
 Intercept & $-$3.771$^{***}$ (0.029) & $-$2.545$^{***}$ (0.029) \\ 
 Awareness & 1.302$^{***}$ (0.045) & 0.633$^{***}$ (0.044) \\
 \\
 Asian & $-$0.169$^{***}$ (0.039) & 0.082$^{**}$ (0.039) \\ 
  Black & $-$0.203$^{***}$ (0.020) & $-$0.418$^{***}$ (0.020) \\ 
  Hispanic & $-$0.347$^{***}$ (0.023) & $-$0.208$^{***}$ (0.023) \\ 
  Other (race) & $-$0.199$^{***}$ (0.035) & $-$0.444$^{***}$ (0.035) \\ 
  \\
  Awareness:Asian & 0.011 (0.075) & $-$0.194$^{***}$ (0.074) \\ 
  Awareness:Black & $-$0.175$^{***}$ (0.042) & 0.290$^{***}$ (0.041) \\ 
  Awareness:Hispanic & 0.291$^{***}$ (0.047) & 0.276$^{***}$ (0.047) \\ 
  Awareness:Other & 0.443$^{***}$ (0.069) & 0.536$^{***}$ (0.068) \\ 
  \\
  Awareness:Catholic & 0.245$^{***}$ (0.053) & $-$0.481$^{***}$ (0.052) \\ 
  Awareness:Evangelical Protestant & $-$0.505$^{***}$ (0.049) & $-$0.974$^{***}$ (0.047) \\ 
  Awareness:Jewish & $-$0.237$^{*}$ (0.132) & $-$1.324$^{***}$ (0.130) \\ 
  Awareness:Other & 0.105$^{*}$ (0.061) & $-$0.455$^{***}$ (0.060) \\ 
  Awareness:Secular & $-$0.023 (0.048) & $-$0.307$^{***}$ (0.047) \\ 
\\
Awareness:Female & 0.228$^{***}$ (0.030) & 0.229$^{***}$ (0.030) \\ 
  Awareness:LGBT & $-$0.517$^{***}$ (0.049) & $-$0.366$^{***}$ (0.048) \\ 
  Awareness:Union & 0.212$^{***}$ (0.061) & $-$0.482$^{***}$ (0.059) \\ 
  Awareness:Veteran & $-$0.093$^{*}$ (0.051) & $-$0.195$^{***}$ (0.050) \\ 
\\

 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
For full regression results, see \textit{Appendix}\\
\end{tabular} 
\end{table} 

\section{Discussion}

In this paper, we sought to extend Jones’ (\textit{forthcoming}) initial analysis of the moderating effect of political awareness on identity-to-politics relationships by arguing that the relationship between identity, politics, and political awareness varies depending on intersectionality and intra-identity group variation and cannot be modeled unidirectionally.  We were particularly eager to explore the impact of political awareness on Asian, Hispanic, and female respondents — groups for whom Jones' found either no or inconclusive effects. 

Our results revealed that the relationship between identity, politics and political awareness is  considerably more nuanced than Jones initially described due the intersectional nature of social identity and the tendency toward more polarized views as political awareness increases. Furthermore, our analyses reveal that no single model can fully explain the complexity of the aforementioned relationships. As such, a general linear model depicting identity groups trending towards one political direction as political awareness increases fails to account for the complexity of identity. 

In this paper, we found novel relationships between social identity, politics and political awareness, particularly for racial identity groups, that a general linear model failed to capture. For example, to better understand the impact of political awareness on Asian respondents, we must take geographic location into consideration. Our analysis reveals that politically aware Asian and Black individuals living in the South hold relatively more liberal policy preferences and party identities than politically aware Asian and Black individuals in any other region (Midwest, West, Northeast). While more research is needed to explicate this relationship, one theory is that political awareness among racial minorities in the South may beget a greater awareness of the racial discrimination and bias in that region, prompting more liberal political views. However, for Hispanic individuals, geographic location does not significantly alter the relationship between political awareness and policy preferences. Instead, one must look at political awareness at different income levels and intra-group variation among Hispanics. Our analyses reveal that Hispanic individuals at the poorest end of the income distribution are more liberal than Hispanic individuals of all other income levels for increasing levels of political awareness. Additionally, the most politically aware Hispanics exhibit a bidirectional rather than unidirectional political trend, tending to be either much more conservative or much more liberal, and exhibiting greater intra-group variation than politically aware Whites.

Furthermore, our analysis painted a richer picture of the relationship between identity, politics, and political awareness for Black individuals. A Black identity fitted Jones’ linear models most consistently, with higher political awareness strongly correlating with more liberal politics, which is consistent with the literature that finds Black individuals to consistently align with liberal views and the Democratic party (White & Laird, 2020). However, we also found that as political awareness increases, the poorest Black individuals are predicted to exhibit relatively more liberal policy preferences than politically aware Black individuals at all other income levels. This finding, in addition to the regional interaction described above, illustrates that political awareness interacts with a Black identity differently depending on income and region, with politically aware and poor Black individuals as well as politically aware and Southern Black individuals having relatively more liberal political views than their wealthier and non-Southern counterparts. 

Finally, our analysis sheds additional light on Jones’ null results for politically aware women, who are expected to have more liberal political views than men according to the literature (Huddy et al., 2008; Ondercin, 2017). Surprisingly, gender does not play a significant role in moderating the relationship between racial identity and politics. This is consistent with Jones’ findings that a female identity and higher political awareness did not consistently lead to more liberal views, and counterintuitive to the literature that suggests women are more liberal and Democratic than men.

Ultimately, we argue that the relationships between social identity, politics, and political awareness are nuanced and varied depending on the social identity in question, the intersectional dynamics of that identity, and the political variation within that identity group. Rather than seeking a one-size-fits all approach, future research should explore these relationships from several different perspectives and employ models that capture intra-group variation to study this important topic from a more holistic and nuanced perspective. 

\section{References}
<div id="refs"></div>

\section{Appendix}

\begin{table}[!htbp] \centering 
  \caption*{Table 1: Main models predicting policy preferences and party identity} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcccc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{4}{c}{} \\ 
 & Policy Preferences & Party ID & Policy Preferences & Party ID \\ 
\\[-1.8ex] & CCES & CCES & ANES & ANES\\ 
\hline \\[-1.8ex] 
Intercept & 0.595$^{***}$ (0.009) & 0.431$^{***}$ (0.013) & 0.600$^{***}$ (0.016) & 0.455$^{***}$ (0.033) \\ 
 \vspace{2mm}
 Awareness & $-$0.076$^{***}$ (0.012) & 0.006 (0.016) & $-$0.002 (0.027) & 0.065 (0.047) \\ 
 Catholic & 0.008 (0.007) & 0.071$^{***}$ (0.011) & 0.042$^{***}$ (0.015) & 0.103$^{***}$ (0.030) \\ 
 \hspace{2mm}x Awareness & $-$0.057$^{***}$ (0.014) & $-$0.106$^{***}$ (0.019) & $-$0.058$^{**}$ (0.029) & $-$0.129$^{**}$ (0.052) \\ 
 Evangelical Protestant & $-$0.025$^{***}$ (0.007) & $-$0.032$^{***}$ (0.011) & 0.050$^{***}$ (0.014) & 0.066$^{**}$ (0.030) \\ 
 \hspace{2mm}x Awareness & $-$0.190$^{***}$ (0.013) & $-$0.161$^{***}$ (0.018) & $-$0.199$^{***}$ (0.027) & $-$0.224$^{***}$ (0.052) \\
 Jewish & 0.001 (0.016) & 0.011 (0.036) & $-$0.105$^{**}$ (0.046) & 0.055 (0.073) \\ 
 \hspace{2mm}x Awareness & 0.168$^{***}$ (0.026) & 0.196$^{***}$ (0.049) & 0.272$^{***}$ (0.066) & 0.162 (0.107) \\ 
 Secular & $-$0.039$^{***}$ (0.007) & $-$0.017$^{*}$ (0.010) & $-$0.0002 (0.014) & 0.042 (0.029) \\ 
 \hspace{2mm}x Awareness & 0.191$^{***}$ (0.012) & 0.179$^{***}$ (0.016) & 0.040 (0.028) & 0.014 (0.049) \\ 
 Other (religion) & $-$0.043$^{***}$ (0.008) & $-$0.011 (0.013) & 0.036$^{**}$ (0.014) & 0.050$^{*}$ (0.029) \\ 
 \hspace{2mm}x Awareness & 0.047$^{***}$ (0.016) & 0.026 (0.022) & $-$0.119$^{***}$ (0.028) & $-$0.148$^{***}$ (0.050) \\ 
 \vspace{2mm} 
 Asian & 0.084$^{***}$ (0.011) & 0.168$^{***}$ (0.020) & 0.019 (0.029) & 0.066 (0.050) \\ 
 \hspace{2mm}x Awareness & $-$0.017 (0.025) & $-$0.133$^{***}$ (0.037) & 0.050 (0.049) & 0.042 (0.086) \\ 
  Black & 0.061$^{***}$ (0.006) & 0.348$^{***}$ (0.010) & 0.104$^{***}$ (0.011) & 0.369$^{***}$ (0.021) \\ 
  \hspace{2mm}x Awareness & 0.255$^{***}$ (0.014) & 0.086$^{***}$ (0.020) & 0.151$^{***}$ (0.022) & 0.074 (0.046) \\ 
  Hispanic & 0.078$^{***}$ (0.007) & 0.213$^{***}$ (0.013) & 0.072$^{***}$ (0.011) & 0.202$^{***}$ (0.023) \\ 
  \hspace{2mm}x Awareness & 0.048$^{***}$ (0.017) & $-$0.073$^{***}$ (0.025) & 0.006 (0.027) & $-$0.055 (0.047) \\ 
  Other (race) & 0.075$^{***}$ (0.010) & 0.125$^{***}$ (0.016) & 0.046$^{**}$ (0.020) & 0.120$^{***}$ (0.035) \\ 
  \vspace{2mm} 
    \hspace{2mm}x Awareness & $-$0.131$^{***}$ (0.020) & $-$0.118$^{***}$ (0.025) & $-$0.038 (0.044) & $-$0.090 (0.066) \\

  Women & 0.027$^{***}$ (0.004) & 0.023$^{***}$ (0.007) & 0.046$^{***}$ (0.008) & 0.043$^{***}$ (0.016) \\ 
  
  \hspace{2mm}x Awareness & 0.077$^{***}$ (0.008) & 0.056$^{***}$ (0.011) & $-$0.005 (0.016) & 0.003 (0.029) \\
  \vspace{2mm} 
  LGBT & 0.027$^{***}$ (0.006) & 0.084$^{***}$ (0.012) & $-$0.007 (0.016) & $-$0.030 (0.032) \\ 
  \vspace{2mm}
  \hspace{2mm}x Awareness & 0.153$^{***}$ (0.012) & 0.100$^{***}$ (0.018) & 0.198$^{***}$ (0.028) & 0.304$^{***}$ (0.054) \\ 
  
  Union Member & $-$0.026$^{***}$ (0.008) & 0.037$^{**}$ (0.015) & $-$0.033$^{**}$ (0.014) & 0.002 (0.030) \\ 
  \vspace{2mm}
  \hspace{2mm}x Awareness & 0.092$^{***}$ (0.015) & 0.049$^{**}$ (0.023) & 0.085$^{***}$ (0.027) & 0.122$^{**}$ (0.052) \\ 
  
  Veteran & $-$0.010 (0.008) & $-$0.024$^{*}$ (0.013) & 0.014 (0.014) & $-$0.0002 (0.029) \\ 
  \vspace{2mm}
  \hspace{2mm}x Awareness & $-$0.080$^{***}$ (0.013) & $-$0.048$^{**}$ (0.019) & $-$0.082$^{***}$ (0.025) & $-$0.085$^{*}$ (0.045) \\ 
  
  Age & $-$0.001$^{***}$ (0.0001) & 0.0002$^{**}$ (0.0001) & $-$0.0005$^{***}$ (0.0001) & 0.001$^{***}$ (0.0003) \\ 
  Married & $-$0.038$^{***}$ (0.002) & $-$0.027$^{***}$ (0.003) & $-$0.024$^{***}$ (0.005) & $-$0.049$^{***}$ (0.009) \\ 
  Income & 0.0004 (0.001) & $-$0.008$^{***}$ (0.001) & $-$0.009$^{***}$ (0.002) & $-$0.015$^{***}$ (0.003) \\ 
  Education & 0.033$^{***}$ (0.001) & 0.027$^{***}$ (0.002) & 0.016$^{***}$ (0.002) & 0.011$^{***}$ (0.004) \\ 
  Region & & & & \\
  Religiosity & $-$0.025$^{***}$ (0.001) & $-$0.022$^{***}$ (0.001) & $-$0.018$^{***}$ (0.001) & $-$0.030$^{***}$ (0.003) \\ 
  \hspace{3mm}Midwest & 0.014$^{***}$ (0.003) & 0.028$^{***}$ (0.004) & 0.012$^{**}$ (0.005) & 0.051$^{***}$ (0.011) \\ 
  \hspace{3mm}Northeast & 0.045$^{***}$ (0.003) & 0.056$^{***}$ (0.004) & 0.032$^{***}$ (0.006) & 0.037$^{***}$ (0.012) \\ 
  \hspace{3mm}West & 0.026$^{***}$ (0.003) & 0.034$^{***}$ (0.004) & 0.028$^{***}$ (0.006) & 0.046$^{***}$ (0.011) \\ 
  Year & & & & \\
  \hspace{3mm}2012 &  &  & $-$0.070$^{***}$ (0.005) & $-$0.032$^{***}$ (0.011) \\ 
  \hspace{3mm}2016 &  &  & $-$0.021$^{***}$ (0.006) & $-$0.035$^{***}$ (0.011) \\ 
  \hspace{3mm}2018 & $-$0.021$^{***}$ (0.002) & $-$0.024$^{***}$ (0.003) &  &  \\ 
  
 \hline \\[-1.8ex] 
Num. obs. & 101,977 & 99,186 & 11,189 & 11,144 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{4}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

 
\begin{table}[!htbp] \centering 
  \caption*{Table 2: Main Models Comparing CCES and ANES 2016 Datasets, Policy Preferences} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{3}{c}{} \\ 
& Policy Preferences & Policy Preferences & Difference \\ 
\\[-1.8ex] & CCES '16 & ANES '16 & \textit{p-value}\\ 
\hline \\[-1.8ex]
 Constant & 0.607$^{***}$ (0.011) & 0.562$^{***}$ (0.026) & 0.114\\ 
 Awareness & $-$0.150$^{***}$ (0.016) & 0.061 (0.049) &  0.000\\ 
 \\
 Asian & 0.073$^{***}$ (0.012) & 0.059 (0.036) & 0.706\\ 
  Black & 0.012 (0.009) & 0.111$^{***}$ (0.020) & 0.000\\ 
  Hispanic & 0.053$^{***}$ (0.010) & 0.034$^{*}$ (0.019) & 0.368 \\ 
  Other (race) & 0.055$^{***}$ (0.015) & 0.047 (0.031) & 0.837\\ 
  \\
  Catholic & 0.016$^{*}$ (0.009) & 0.044$^{*}$ (0.025) & 0.282\\ 
  Evangelical Protestant & $-$0.030$^{***}$ (0.009) & 0.056$^{**}$ (0.023) & 0.000\\ 
  Jewish & 0.010 (0.018) & $-$0.020 (0.074) & 0.695\\ 
  Secular & $-$0.045$^{***}$ (0.008) & 0.012 (0.024) & 0.023\\ 
  Other (religion) & $-$0.046$^{***}$ (0.011) & 0.047$^{**}$ (0.023) & 0.000\\ 
  \\
  Female & 0.005 (0.006) & 0.041$^{***}$ (0.013) & 0.011\\ 
  LBGT & 0.038$^{***}$ (0.009) & $-$0.0001 (0.021) & 0.104\\ 
  Union Member & $-$0.009 (0.010) & $-$0.027 (0.025) & 0.504\\ 
  Veteran & 0.006 (0.011) & $-$0.020 (0.024) & 0.334\\ 
  Age & 0.0002$^{*}$ (0.0001) & $-$0.001$^{***}$ (0.0002) & 0.001\\ 
  Married & $-$0.039$^{***}$ (0.003) & $-$0.028$^{***}$ (0.008) & 0.179\\ Income & 0.004$^{***}$ (0.001) & $-$0.006$^{*}$ (0.003) & 0.008\\ 
  Education & 0.029$^{***}$ (0.002) & 0.015$^{***}$ (0.004) & 0.002\\ 
  Religiosity & $-$0.023$^{***}$ (0.001) & $-$0.020$^{***}$ (0.002) & 0.305\\ 
  \\
  Region & & \\
  \hspace{3mm}Midwest & 0.004 (0.004) & 0.005 (0.009) & 0.890\\ 
  \hspace{3mm}Northeast & 0.043$^{***}$ (0.004) & 0.054$^{***}$ (0.010) & 0.315 \\ 
  \hspace{3mm}West & 0.016$^{***}$ (0.004) & 0.036$^{***}$ (0.010) & 0.065\\ 
  \\
  Awareness:Asian & 0.023 (0.026) & 0.021 (0.068) & 0.982\\ 
  Awareness:Black & 0.285$^{***}$ (0.020) & 0.131$^{***}$ (0.040) & 0.001\\ 
  Awareness:Hispanic & 0.048$^{*}$ (0.025) & 0.073$^{*}$ (0.041) & 0.608\\ 
  Awareness:Other (race) & $-$0.107$^{***}$ (0.029) & $-$0.015 (0.066) & 0.199\\ 
\\
  Awareness:Catholic & $-$0.056$^{***}$ (0.018) & $-$0.102$^{**}$ (0.049) & 0.384\\ 
  Awareness:Evangelical Protestant & $-$0.156$^{***}$ (0.016) & $-$0.226$^{***}$ (0.048) & 0.171\\ 
  Awareness:Jewish & 0.148$^{***}$ (0.032) & 0.110 (0.109) & 0.737\\ 
  Awareness:Secular & 0.193$^{***}$ (0.016) & 0.013 (0.049) & 0.000\\ 
  Awareness:Other (religion) & 0.040$^{*}$ (0.022) & $-$0.165$^{***}$ (0.048) & 0.000\\ 
  \\
    Awareness:Female & 0.088$^{***}$ (0.011) & $-$0.001 (0.027) & 0.002\\ 
  Awareness:LBGT & 0.143$^{***}$ (0.017) & 0.181$^{***}$ (0.039) & 0.386\\ 
  Awareness:Union Member & 0.077$^{***}$ (0.021) & 0.081$^{*}$ (0.046) & 0.946\\ 
  Awareness:Veteran & $-$0.099$^{***}$ (0.018) & $-$0.053 (0.044) & 0.333\\ 
  
 \hline \\[-1.8ex] 
Observations & 49,497 & 3,862 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\begin{table}[!htbp] \centering 
  \caption*{Table 3: Main Models Comparing CCES and ANES 2016 Datasets, Party Identity} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{3}{c}{} \\ 
& Party ID  & Party ID  & Difference \\ 
\\[-1.8ex] & CCES '16 & ANES '16 & \textit{p-value}\\ 
\hline \\[-1.8ex] 
 Constant & 0.442$^{***}$ (0.017) & 0.352$^{***}$ (0.052) & 0.105\\ 
 Awareness & $-$0.050$^{**}$ (0.022) & 0.213$^{***}$ (0.077) & 0.001\\ 
 \\
 Asian & 0.154$^{***}$ (0.024) & 0.159$^{**}$ (0.073) & 0.950 \\ 
  Black & 0.346$^{***}$ (0.015) & 0.383$^{***}$ (0.041) & 0.385 \\ 
  Hispanic & 0.216$^{***}$ (0.018) & 0.167$^{***}$ (0.041) & 0.277 \\ 
  Other (race) & 0.117$^{***}$ (0.024) & 0.154$^{***}$ (0.049) & 0.498\\ 
  \\
  Catholic & 0.100$^{***}$ (0.016) & 0.136$^{***}$ (0.046) & 0.460\\ 
  Evangelical Protestant & $-$0.028$^{*}$ (0.015) & 0.084$^{*}$ (0.046) & 0.021\\ 
  Jewish & 0.054 (0.049) & 0.145 (0.126) & 0.504\\ 
  Secular & $-$0.014 (0.013) & 0.102$^{**}$ (0.045) & 0.014 \\ 
  Other (religion) & 0.001 (0.019) & 0.057 (0.043) & 0.229\\ 
  \\
  Female & 0.009 (0.010) & 0.059$^{**}$ (0.026) & 0.073\\ 
  LBGT & 0.098$^{***}$ (0.017) & $-$0.013 (0.046) & 0.023\\ 
  Union Member & 0.069$^{***}$ (0.021) & $-$0.004 (0.053) & 0.205\\ 
  Veteran & $-$0.030 (0.019) & $-$0.001 (0.046) & 0.566\\ 
  Age & 0.0005$^{***}$ (0.0002) & 0.001 (0.0004) & 0.711\\ 
  Married & $-$0.024$^{***}$ (0.005) & $-$0.051$^{***}$ (0.015) & 0.082\\ 
  Income & $-$0.006$^{***}$ (0.002) & $-$0.016$^{***}$ (0.006) & 0.090\\ 
  Education & 0.021$^{***}$ (0.003) & 0.016$^{**}$ (0.007) & 0.503\\ 
  Religiosity & $-$0.016$^{***}$ (0.002) & $-$0.032$^{***}$ (0.005) & 0.001\\ 
  \\
  Region & & \\
  \hspace{3mm}Midwest & 0.024$^{***}$ (0.006) & 0.051$^{***}$ (0.018) & 0.144\\ 
  \hspace{3mm}Northeast & 0.048$^{***}$ (0.006) & 0.083$^{***}$ (0.021) & 0.098 \\ 
  \hspace{3mm}West & 0.034$^{***}$ (0.006) & 0.052$^{***}$ (0.018) & 0.322\\ 
 \\
  Awareness:Asian & $-$0.098$^{**}$ (0.044) & $-$0.144 (0.141) &0.754 \\ 
  Awareness:Black & 0.091$^{***}$ (0.028) & 0.016 (0.100) & 0.474\\ 
  Awareness:Hispanic & $-$0.099$^{***}$ (0.037) & 0.055 (0.077) & 0.071\\ 
  Awareness:Other (race) & $-$0.108$^{***}$ (0.038) & $-$0.139 (0.095) & 0.764\\ 
  \\
  Awareness:Catholic & $-$0.132$^{***}$ (0.025) & $-$0.249$^{***}$ (0.084) & 0.182\\ 
  Awareness:Evangelical Protestant & $-$0.146$^{***}$ (0.024) & $-$0.274$^{***}$ (0.087) & 0.158\\ 
  Awareness:Jewish & 0.124$^{*}$ (0.068) & $-$0.019 (0.172) & 0.440\\ 
  Awareness:Secular & 0.181$^{***}$ (0.022) & $-$0.055 (0.081) & 0.005\\ 
  Awareness:Other (religion) & 0.020 (0.032) & $-$0.174$^{**}$ (0.080) & 0.024\\ 
  \\
  Awareness:Female & 0.058$^{***}$ (0.016) & 0.003 (0.048) & 0.282\\ 
  Awareness:LBGT & 0.083$^{***}$ (0.027) & 0.184$^{**}$ (0.085) & 0.253\\ 
  Awareness:Union Member & 0.033 (0.032) & 0.170$^{*}$ (0.088) & 0.143\\ 
  Awareness:Veteran & $-$0.040 (0.026) & $-$0.094 (0.075) & 0.494\\ 
  
 \hline \\[-1.8ex] 
Observations & 48,214 & 3,850 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 




\begin{table}[!htbp] \centering 
  \caption*{Table 8: Main Models Comparing CCES 2016 and 2018 Datasets, Policy Preferences} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{3}{c}{} \\ 
& Policy Preferences & Policy Preferences & Difference \\ 
\\[-1.8ex] & CCES '16 & CCES '18 & \textit{p-value}\\ 
\hline \\[-1.8ex]
Constant & 0.607$^{***}$ (0.011) & 0.564$^{***}$ (0.013) & 0.011\\ 
Awareness & $-$0.150$^{***}$ (0.016) & $-$0.003 (0.019) & 0.000\\ 
\\
Asian & 0.073$^{***}$ (0.012) & 0.099$^{***}$ (0.016) & 0.201\\ 
  Black & 0.012 (0.009) & 0.101$^{***}$ (0.009) & 0.000\\ 
  Hispanic & 0.053$^{***}$ (0.010) & 0.104$^{***}$ (0.010) & 0.000\\ 
  Other (race) & 0.055$^{***}$ (0.015) & 0.094$^{***}$ (0.013) & 0.056\\ 
\\ 
  Catholic & 0.016$^{*}$ (0.009) & $-$0.003 (0.011) & 0.204\\ 
  Evangelical Protestant & $-$0.030$^{***}$ (0.009) & $-$0.014 (0.010) & 0.246\\ 
  Jewish & 0.010 (0.018) & $-$0.004 (0.026) & 0.661\\ 
  Secular & $-$0.045$^{***}$ (0.008) & $-$0.034$^{***}$ (0.010) & 0.396\\ 
  Other (religion) & $-$0.046$^{***}$ (0.011) & $-$0.041$^{***}$ (0.013) & 0.723\\ 
  \\
  Female & 0.005 (0.006) & 0.045$^{***}$ (0.006) & 0.000\\ 
  LGBT & 0.038$^{***}$ (0.009) & 0.017$^{*}$ (0.009) & 0.110\\ 
  Union Member & $-$0.009 (0.010) & $-$0.052$^{***}$ (0.012) & 0.006 \\ 
  Veteran & 0.006 (0.011) & $-$0.021$^{*}$ (0.012) & 0.096 \\ 
  Age & 0.0002$^{*}$ (0.0001) & $-$0.001$^{***}$ (0.0001) & 0.000\\ 
  Married & $-$0.039$^{***}$ (0.003) & $-$0.037$^{***}$ (0.003) &0.629 \\ 
  Income & 0.004$^{***}$ (0.001) & $-$0.003$^{**}$ (0.001) & 0.000\\ 
  Education & 0.029$^{***}$ (0.002) & 0.037$^{***}$ (0.002) & 0.000\\ 
  Religiosity & $-$0.023$^{***}$ (0.001) & $-$0.027$^{***}$ (0.001) & 0.003\\ 
  \\
  Region & & & \\
  \hspace{3mm}Midwest & 0.004 (0.004) & 0.024$^{***}$ (0.004) & 0.000\\ 
  \hspace{3mm}Northeast & 0.043$^{***}$ (0.004) & 0.047$^{***}$ (0.004) & 0.448\\ 
  \hspace{3mm}West & 0.016$^{***}$ (0.004) & 0.034$^{***}$ (0.004) & 0.003\\ 
  \\
  Awareness:Asian & 0.023 (0.026) & $-$0.057 (0.039) & 0.086\\ 
  Awareness:Black & 0.285$^{***}$ (0.020) & 0.237$^{***}$ (0.019) & 0.083\\ 
  Awareness:Hispanic & 0.048$^{*}$ (0.025) & 0.036 (0.024) & 0.719\\ 
  Awareness:Other (race) & $-$0.107$^{***}$ (0.029) & $-$0.149$^{***}$ (0.026) & .278\\ 
  \\
  Awareness:Catholic & $-$0.056$^{***}$ (0.018) & $-$0.055$^{***}$ (0.021) & 0.973\\ 
  Awareness:Evangelical Protestant & $-$0.156$^{***}$ (0.016) & $-$0.232$^{***}$ (0.019) & 0.002\\ 
  Awareness:Jewish & 0.148$^{***}$ (0.032) & 0.180$^{***}$ (0.041) & 0.539 \\ 
Awareness:Secular & 0.193$^{***}$ (0.016) & 0.188$^{***}$ (0.018) & 0.845\\ 
 Awareness:Other & 0.040$^{*}$ (0.022) & 0.058$^{**}$ (0.024) & 0.581\\ 
 \\
  Awareness:Female & 0.088$^{***}$ (0.011) & 0.069$^{***}$ (0.011) & 0.236\\ 
  Awareness:LGBT & 0.143$^{***}$ (0.017) & 0.157$^{***}$ (0.016) & 0.569\\ 
  Awareness:Union Member & 0.077$^{***}$ (0.021) & 0.113$^{***}$ (0.021) & 0.227\\ 
  Awareness:Veteran & $-$0.099$^{***}$ (0.018) & $-$0.068$^{***}$ (0.018) & 0.231\\ 
   \hline \\[-1.8ex] 
Observations & 49,497 & 52,480 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 

\end{tabular} 
\end{table} 


\begin{table}[!htbp] \centering 
  \caption*{Table 9: Main Models Comparing CCES 2016 and 2018 Datasets, Party Identity} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{3}{c}{} \\ 
& Party Identity & Party Identity & Difference \\ 
\\[-1.8ex] & CCES '16 & CCES '18 & \textit{p-value}\\ 
\hline \\[-1.8ex]
Intercept & 0.442$^{***}$ (0.017) & 0.399$^{***}$ (0.017) & 0.084\\ 
Awareness & $-$0.050$^{**}$ (0.022) & 0.064$^{***}$ (0.023) &0.000\\
\\
Asian & 0.154$^{***}$ (0.024) & 0.187$^{***}$ (0.030) & 0.386\\ 
  Black & 0.346$^{***}$ (0.015) & 0.354$^{***}$ (0.014) &0.693\\ 
  Hispanic & 0.216$^{***}$ (0.018) & 0.221$^{***}$ (0.017) &0.844\\ 
  Other & 0.117$^{***}$ (0.024) & 0.134$^{***}$ (0.020) &0.591\\ 
   \\
  Catholic & 0.100$^{***}$ (0.016) & 0.038$^{**}$ (0.017) & 0.007\\ 
  Evangelical Protestant & $-$0.028$^{*}$ (0.015) & $-$0.031$^{**}$ (0.015) & 0.902\\ 
  Jewish & 0.054 (0.049) & $-$0.029 (0.049) & 0.234\\ 
  Secular & $-$0.014 (0.013) & $-$0.021 (0.014) & 0.705\\ 
  Other & 0.001 (0.019) & $-$0.022 (0.018) & 0.388\\ 
  \\
  Female & 0.009 (0.010) & 0.035$^{***}$ (0.009)& 0.062 \\ 
  LGBT & 0.098$^{***}$ (0.017) & 0.071$^{***}$ (0.016) & 0.248\\ 
  Union Member & 0.069$^{***}$ (0.021) & $-$0.006 (0.021) & 0.011\\ 
  Veteran & $-$0.030 (0.019) & $-$0.020 (0.019) & 0.700\\ 
  Age & 0.0005$^{***}$ (0.0002) & 0.00001 (0.0001) & 0.028\\ 
  Married & $-$0.024$^{***}$ (0.005) & $-$0.031$^{***}$ (0.005) & 0.257\\ 
  Income & $-$0.006$^{***}$ (0.002) & $-$0.010$^{***}$ (0.002) & 0.105\\ 
  Education & 0.021$^{***}$ (0.003) & 0.033$^{***}$ (0.002) & 0.001\\ 
  Religiosity & $-$0.016$^{***}$ (0.002) & $-$0.028$^{***}$ (0.002) & 0.000\\ 
  \\
  Region & & \\ 
  \hspace{3mm}Midwest & 0.024$^{***}$ (0.006) & 0.033$^{***}$ (0.005) & 0.256\\ 
  \hspace{3mm}Northeast & 0.048$^{***}$ (0.006) & 0.064$^{***}$ (0.006) & 0.058\\ 
  \hspace{3mm}West & 0.034$^{***}$ (0.006) & 0.035$^{***}$ (0.006) & 0.895\\ 
  \\
  Awareness:Asian & $-$0.098$^{**}$ (0.044) & $-$0.172$^{***}$ (0.056) & 0.293\\ 
  Awareness:Black & 0.091$^{***}$ (0.028) & 0.074$^{**}$ (0.029) & 0.685\\ 
  Awareness:Hispanic & $-$0.099$^{***}$ (0.037) & $-$0.072$^{**}$ (0.034) & 0.586\\ 
  Awareness:Other (race) & $-$0.108$^{***}$ (0.038) & $-$0.127$^{***}$ (0.033) & 0.708\\ 
  \\
  Awareness:Catholic & $-$0.132$^{***}$ (0.025) & $-$0.077$^{***}$ (0.027) & 0.134\\ 
  Awareness:Evangelical Protestant & $-$0.146$^{***}$ (0.024) & $-$0.182$^{***}$ (0.025) & 0.302\\ 
  Awareness:Jewish & 0.124$^{*}$ (0.068) & 0.261$^{***}$ (0.069) & 0.160\\ 
    Awareness:Secular & 0.181$^{***}$ (0.022) & 0.174$^{***}$ (0.022) & 0.814\\ 
  Awareness:Other & 0.020 (0.032) & 0.027 (0.031) & 0.888\\ 
  \\
  Awareness:Female & 0.058$^{***}$ (0.016) & 0.054$^{***}$ (0.016) & 0.873\\ 
  Awareness:LGBT & 0.083$^{***}$ (0.027) & 0.112$^{***}$ (0.025) & 0.421\\ 
  Awareness:Union Member & 0.033 (0.032) & 0.074$^{**}$ (0.031) & 0.362\\ 
  Awareness:veteran & $-$0.040 (0.026) & $-$0.054$^{**}$ (0.027) & 0.700\\ 
  
 \hline \\[-1.8ex] 
Observations & 48,214 & 50,972 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 


\begin{table}[!htbp] \centering 
  \caption*{Table 10: Main Models Examining CCES Data, Interacted by Year} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
& Policy Preferences & Party ID \\ 
\\[-1.8ex] & CCES & CCES \\ 
\hline \\[-1.8ex]
  Intercept & 0.640$^{***}$ (0.010) & 0.458$^{***}$ (0.016) \\ 
  Awareness & $-$0.138$^{***}$ (0.015) & $-$0.048$^{**}$ (0.022) \\ 
  2018 & $-$0.106$^{***}$ (0.013) & $-$0.073$^{***}$ (0.020) \\ 
  Awareness x 2018 & 0.123$^{***}$ (0.024) & 0.111$^{***}$ (0.031) \\ 
\\
\textbf{Race} & & \\
Asian & 0.067$^{***}$ (0.012) & 0.152$^{***}$ (0.024) \\ 
\hspace{2mm} x Awareness & 0.020 (0.026) & $-$0.101$^{**}$ (0.044) \\ 
  \hspace{2mm} x 2018 & 0.034$^{*}$ (0.020) & 0.036 (0.039) \\ 
  \hspace{2mm} x Awareness x 2018 & $-$0.074 (0.046) & $-$0.071 (0.071) \\ 
  Black & 0.012 (0.009) & 0.348$^{***}$ (0.015) \\ 
\hspace{2mm} x Awareness & 0.286$^{***}$ (0.021) & 0.090$^{***}$ (0.029) \\ 
    \hspace{2mm} x 2018 & 0.089$^{***}$ (0.012) & 0.004 (0.020) \\ 
  \hspace{2mm} x Awareness x 2018 & $-$0.049$^{*}$ (0.028) & $-$0.016 (0.041) \\ 
Hispanic & 0.049$^{***}$ (0.010) & 0.219$^{***}$ (0.018) \\ 
\hspace{2mm} x Awareness & 0.050$^{**}$ (0.025) & $-$0.100$^{***}$ (0.037) \\ 
\hspace{2mm} x 2018 & 0.056$^{***}$ (0.014) & $-$0.0002 (0.025) \\ 
  \hspace{2mm} x Awareness x 2018 & $-$0.013 (0.034) & 0.029 (0.050) \\ 
Other & 0.050$^{***}$ (0.015) & 0.116$^{***}$ (0.024) \\ 
  \hspace{2mm} x Awareness & $-$0.105$^{***}$ (0.029) & $-$0.107$^{***}$ (0.038) \\ 
  \hspace{2mm} x 2018 & 0.048$^{**}$ (0.020) & 0.018 (0.031) \\ 
  \hspace{2mm} x Awareness x 2018 & $-$0.044 (0.039) & $-$0.019 (0.050) \\ 
   \\ 
\textbf{Religion} & & \\
  Catholic & 0.014 (0.009) & 0.100$^{***}$ (0.016) \\ 
  \hspace{2mm} x Awareness & $-$0.053$^{***}$ (0.018) & $-$0.129$^{***}$ (0.025) \\ 
  \hspace{2mm} x 2018 & $-$0.016 (0.014) & $-$0.060$^{***}$ (0.023) \\ 
 \hspace{2mm} x Awareness x 2018 & $-$0.005 (0.027) & 0.048 (0.037) \\ 
  
Evangelical Protestant & $-$0.029$^{***}$ (0.009) & $-$0.020 (0.015) \\ 
   \hspace{2mm} x Awareness & $-$0.155$^{***}$ (0.017) & $-$0.144$^{***}$ (0.024) \\ 
  \hspace{2mm} x 2018 & 0.012 (0.014) & $-$0.017 (0.021) \\ 
 \hspace{2mm} x Awareness x 2018 & $-$0.078$^{***}$ (0.025) & $-$0.043 (0.035) \\ 
Jewish & 0.009 (0.018) & 0.051 (0.049) \\ 
\hspace{2mm} x Awareness & 0.149$^{***}$ (0.032) & 0.123$^{*}$ (0.068) \\ 
  
 \hspace{2mm} x 2018 & $-$0.013 (0.032) & $-$0.078 (0.069) \\ 
  \hspace{2mm} x Awareness x 2018 & 0.034 (0.052) & 0.140 (0.097) \\ 
  Secular & $-$0.054$^{***}$ (0.008) & $-$0.021 (0.013) \\ 
   \hspace{2mm} x Awareness & 0.193$^{***}$ (0.016) & 0.178$^{***}$ (0.022) \\ 
    \hspace{2mm} x 2018 & 0.028$^{**}$ (0.013) & 0.007 (0.019) \\
    \hspace{2mm} x Awareness x 2018 & $-$0.003 (0.024) & $-$0.0003 (0.031) \\ 
  Other & $-$0.053$^{***}$ (0.011) & 0.001 (0.019) \\ 
     \hspace{2mm} x Awareness & 0.042$^{**}$ (0.022) & 0.021 (0.032) \\
        \hspace{2mm} x 2018 & 0.019 (0.016) & $-$0.022 (0.026) \\
           \hspace{2mm} x Awareness x 2018 & 0.013 (0.032) & 0.005 (0.044) \\ 
    \\
\hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 


\begin{table}[!htbp] \centering 
  \caption*{Table 10: Main Models Examining CCES Data, Interacted by Year, \textit{continued}} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
& Policy Preferences & Party ID  \\ 
\\[-1.8ex] & CCES & CCES  \\ 
\hline \\[-1.8ex]
\textbf{Other Identities} & & \\
Female & 0.006 (0.006) & 0.008 (0.010) \\ 
\hspace{2mm} x Awareness & 0.088$^{***}$ (0.011) & 0.058$^{***}$ (0.017) \\ 
\hspace{2mm} x 2018 & 0.036$^{***}$ (0.008) & 0.026$^{*}$ (0.014) \\
\hspace{2mm} x Awareness x 2018  & $-$0.019 (0.016) & $-$0.004 (0.023) \\ 
LGBT & 0.031$^{***}$ (0.009) & 0.098$^{***}$ (0.017) \\ 
\hspace{2mm} x Awareness & 0.142$^{***}$ (0.017) & 0.077$^{***}$ (0.027) \\ 
\hspace{2mm} x 2018 & $-$0.007 (0.013) & $-$0.025 (0.024) \\ 
\hspace{2mm} x Awareness x 2018 & 0.015 (0.023) & 0.039 (0.036) \\ 
Union Member & $-$0.009 (0.010) & 0.070$^{***}$ (0.021) \\ 
\hspace{2mm} x Awareness & 0.078$^{***}$ (0.021) & 0.031 (0.032) \\ 
\hspace{2mm} x 2018 & $-$0.043$^{***}$ (0.016) & $-$0.076$^{***}$ (0.029) \\ 
\hspace{2mm} x Awareness x 2018 & 0.037 (0.030) & 0.045 (0.045) \\ 
Veteran & 0.012 (0.011) & $-$0.029 (0.019) \\ 
\hspace{2mm} x Awareness & $-$0.094$^{***}$ (0.018) & $-$0.036 (0.026) \\ 
  \hspace{2mm} x 2018 & $-$0.044$^{***}$ (0.016) & 0.006 (0.026) \\ 
  \hspace{2mm} x Awareness x 2018 & 0.029 (0.025) & $-$0.018 (0.037) \\ 
  \\
  Age & $-$0.001$^{***}$ (0.0001) & 0.0002$^{**}$ (0.0001) \\ 
  Married & $-$0.038$^{***}$ (0.002) & $-$0.028$^{***}$ (0.003) \\ 
  Income & 0.0004 (0.001) & $-$0.008$^{***}$ (0.001) \\ 
  Education & 0.033$^{***}$ (0.001) & 0.027$^{***}$ (0.002) \\ 
  Religiosity & $-$0.025$^{***}$ (0.001) & $-$0.022$^{***}$ (0.001) \\ 
  Region & & \\
  \hspace{3mm}Midwest & 0.014$^{***}$ (0.003) & 0.029$^{***}$ (0.004) \\ 
  \hspace{3mm}Northeast & 0.045$^{***}$ (0.003) & 0.056$^{***}$ (0.004) \\ 
  \hspace{3mm}West & 0.025$^{***}$ (0.003) & 0.034$^{***}$ (0.004) \\ 
   \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 

\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\begin{table}[!htbp] \centering 
  \caption*{Table 12: Race and Region Interaction Model, \textit{full results}} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
 & Policy (CCES) & Party (CCES) \\ 
\hline \\[-1.8ex]
Constant & 0.591$^{***}$ (0.009) & 0.418$^{***}$ (0.013) \\ 
Awareness & $-$0.077$^{***}$ (0.013) & 0.017 (0.018) \\ 
\\
Asian & 0.083$^{***}$ (0.022) & 0.161$^{***}$ (0.045) \\ 
Black & 0.069$^{***}$ (0.008) & 0.378$^{***}$ (0.014) \\ 
Hispanic & 0.081$^{***}$ (0.011) & 0.218$^{***}$ (0.022) \\ 
Other & 0.076$^{***}$ (0.016) & 0.128$^{***}$ (0.030) \\ 
\\  
Catholic & 0.008 (0.007) & 0.070$^{***}$ (0.012) \\ 
Evangelical Protestant & $-$0.025$^{***}$ (0.007) & $-$0.030$^{***}$ (0.011) \\ 
Jewish & $-$0.0003 (0.016) & 0.009 (0.036) \\ 
Secular & $-$0.039$^{***}$ (0.007) & $-$0.017$^{*}$ (0.010) \\ 
Other & $-$0.044$^{***}$ (0.008) & $-$0.011 (0.013) \\ 
\\
  Female & 0.027$^{***}$ (0.004) & 0.023$^{***}$ (0.007) \\ 
  LGBT & 0.026$^{***}$ (0.006) & 0.084$^{***}$ (0.012) \\ 
  Union Member & $-$0.025$^{***}$ (0.008) & 0.037$^{**}$ (0.015) \\ 
  Veteran & $-$0.011 (0.008) & $-$0.025$^{*}$ (0.013) \\ 
  \\
  Region & & \\
  \hspace{3mm}Midwest & 0.013$^{**}$ (0.006) & 0.045$^{***}$ (0.009) \\ 
  \hspace{3mm}Northeast & 0.051$^{***}$ (0.006) & 0.079$^{***}$ (0.010) \\ 
  \hspace{3mm}West & 0.045$^{***}$ (0.007) & 0.055$^{***}$ (0.011) \\ 
  \\
  Age & $-$0.001$^{***}$ (0.0001) & 0.0002$^{**}$ (0.0001) \\ 
  Married & $-$0.038$^{***}$ (0.002) & $-$0.027$^{***}$ (0.003) \\ 
  Income & 0.0005 (0.001) & $-$0.008$^{***}$ (0.001) \\ 
  Education & 0.033$^{***}$ (0.001) & 0.027$^{***}$ (0.002) \\ 
  Religiosity & $-$0.025$^{***}$ (0.001) & $-$0.022$^{***}$ (0.001) \\ 
  2018 & $-$0.021$^{***}$ (0.002) & $-$0.024$^{***}$ (0.003) \\ 
  \\
  Awareness:Asian & 0.081$^{*}$ (0.042) & $-$0.049 (0.079) \\ 
  Awareness:Black & 0.277$^{***}$ (0.019) & 0.101$^{***}$ (0.028) \\ 
  Awareness:Hispanic & 0.059$^{**}$ (0.026) & $-$0.093$^{**}$ (0.043) \\ 
  Awareness:Other(Race) & $-$0.139$^{***}$ (0.031) & $-$0.109$^{**}$ (0.048) \\ 
  \\
  Awareness:Catholic & $-$0.058$^{***}$ (0.014) & $-$0.105$^{***}$ (0.019) \\ 
  Awareness:Evangelical Protestant & $-$0.191$^{***}$ (0.013) & $-$0.164$^{***}$ (0.017) \\ 
  Awareness:Jewish & 0.169$^{***}$ (0.027) & 0.197$^{***}$ (0.050) \\ 
  Awareness:Other & 0.048$^{***}$ (0.016) & 0.024 (0.022) \\ 
  Awareness:Secular & 0.190$^{***}$ (0.012) & 0.178$^{***}$ (0.016) \\ 
  Awareness:Female & 0.077$^{***}$ (0.008) & 0.056$^{***}$ (0.011) \\ 
  Awareness:LGBT & 0.154$^{***}$ (0.012) & 0.101$^{***}$ (0.018) \\ 
  Awareness:Union Member & 0.091$^{***}$ (0.015) & 0.050$^{**}$ (0.023)\\ Awareness:Veteran & $-$0.078$^{***}$ (0.013) & $-$0.047$^{**}$ (0.019\\ \\
 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\begin{table}[ht!] \centering 
  \caption*{Table 12: Race and Region Interaction Model, \textit{continued}}  
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & Policy (CCES) & Party (CCES) \\ 
\\[-1.8ex] \\ 
\hline \\[-1.8ex] 
  Asian:Midwest & 0.028 (0.030) & $-$0.020 (0.064) \\ 
  Asian:Northeast & $-$0.037 (0.029) & $-$0.054 (0.061) \\ 
  Asian:West & $-$0.005 (0.028) & 0.039 (0.054) \\ 
\\
  Black:Midwest & $-$0.008 (0.016) & $-$0.038 (0.026) \\ 
  Black:Northeast & $-$0.006 (0.017) & $-$0.075$^{***}$ (0.026) \\ 
  Black:West & $-$0.035 (0.021) & $-$0.076$^{**}$ (0.031) \\  
  \\
  Hispanic:Midwest & $-$0.012 (0.026) & $-$0.016 (0.042) \\ 
  Hispanic:Northeast & $-$0.043$^{**}$ (0.019) & $-$0.020 (0.039) \\ 
  Hispanic:West & $-$0.001 (0.017) & $-$0.004 (0.030) \\ 
  \\
  Other:Midwest & 0.012 (0.025) & $-$0.018 (0.040) \\ 
  Other:Northeast & 0.053$^{*}$ (0.030) & 0.049 (0.050) \\ 
  Other:West & $-$0.039 (0.026) & $-$0.022 (0.041) \\ 
  \\
  Midwest:Awareness & 0.010 (0.010) & $-$0.016 (0.015) \\ 
  Northeast:Awareness & 0.006 (0.011) & $-$0.023 (0.017) \\ 
  West:Awareness & $-$0.014 (0.012) & $-$0.014 (0.017) \\ 
  \\
  Asian:Awareness:Midwest & $-$0.157$^{**}$ (0.074) & $-$0.043 (0.116) \\ 
  Asian:Awareness:Northeast & $-$0.055 (0.061) & 0.025 (0.111) \\ 
  Asian:Awareness:West & $-$0.126$^{**}$ (0.058) & $-$0.174$^{*}$ (0.097) \\ 
  \\
  Black:Awareness:Midwest & $-$0.018 (0.035) & $-$0.029 (0.051) \\ 
  Black:Awareness:Northeast & $-$0.090$^{**}$ (0.041) & $-$0.036 (0.054) \\ 
  Black:Awareness:West & $-$0.097$^{**}$ (0.045) & $-$0.108$^{*}$ (0.060) \\ 
 \\
  Hispanic:Awareness:Midwest & 0.039 (0.050) & 0.044 (0.076) \\ 
  Hispanic:Awareness:Northeast & 0.091$^{*}$ (0.053) & 0.102 (0.081) \\ 
  Hispanic:Awareness:West & $-$0.047 (0.040) & 0.015 (0.059) \\
  \\
  Other:Awareness:Midwest & 0.003 (0.052) & 0.040 (0.068) \\ Other:Awareness:Northeast & $-$0.086 (0.064) & $-$0.087 (0.084) \\ 
 Other:Awareness:West & 0.068 (0.048) & $-$0.016 (0.064) \\ 
 \\ 
 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\begin{table}[!htbp] \centering 
  \caption*{Table 13: Race and Income Interaction Model, \textit{full results}} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
 & Policy (CCES) & Party (CCES) \\ 
\hline \\[-1.8ex]
     Awareness & $-$0.065$^{***}$ (0.015) & $-$0.025 (0.020) \\ 
     \\
     Asian & 0.074$^{***}$ (0.026) & 0.104$^{**}$ (0.042) \\ 
     Black & 0.074$^{***}$ (0.010) & 0.337$^{***}$ (0.015) \\ 
     Hispanic & 0.066$^{***}$ (0.012) & 0.191$^{***}$ (0.023) \\ 
     Other & 0.056$^{***}$ (0.017) & 0.083$^{***}$ (0.022) \\ 
     \\
     Catholic & 0.007 (0.007) & 0.072$^{***}$ (0.011) \\ 
     Evangelical Protestant & $-$0.025$^{***}$ (0.007) & $-$0.032$^{***}$ (0.011) \\ 
     Jewish & 0.0001 (0.016) & 0.016 (0.035) \\ 
     Secular & $-$0.039$^{***}$ (0.007) & $-$0.017$^{*}$ (0.010) \\ 
     Other & $-$0.043$^{***}$ (0.008) & $-$0.013 (0.013) \\ 
     \\
     Female & 0.027$^{***}$ (0.004) & 0.023$^{***}$ (0.007) \\ 
     LGBT & 0.028$^{***}$ (0.007) & 0.083$^{***}$ (0.012) \\ 
     Union Member & $-$0.027$^{***}$ (0.008) & 0.040$^{***}$ (0.015) \\ 
     Veteran & $-$0.010 (0.008) & $-$0.023$^{*}$ (0.013) \\ 
     \\
     Income Level 2 & 0.001 (0.006) & $-$0.033$^{***}$ (0.010) \\ 
     Income Level 3 & $-$0.001 (0.007) & $-$0.053$^{***}$ (0.011) \\ 
     Income Level 4 & 0.007 (0.008) & $-$0.033$^{***}$ (0.012) \\ 
     Income Level 5 & 0.007 (0.008) & $-$0.063$^{***}$ (0.013) \\ 
     \\
     Age & $-$0.001$^{***}$ (0.0001) & 0.0002$^{**}$ (0.0001) \\ 
     Married & $-$0.037$^{***}$ (0.002) & $-$0.026$^{***}$ (0.003) \\ 
     Education & 0.033$^{***}$ (0.001) & 0.027$^{***}$ (0.002) \\ 
     Religiosity & $-$0.025$^{***}$ (0.001) & $-$0.022$^{***}$ (0.001) \\ 
     \\
     Midwest & 0.014$^{***}$ (0.003) & 0.029$^{***}$ (0.004) \\ 
     Northeast & 0.045$^{***}$ (0.003) & 0.056$^{***}$ (0.004) \\ 
     West & 0.026$^{***}$ (0.003) & 0.034$^{***}$ (0.004) \\ 
     \\
     2018 & $-$0.021$^{***}$ (0.002) & $-$0.025$^{***}$ (0.003) \\ 
     \\
     Asian:Awareness & $-$0.007 (0.080) & 0.027 (0.096) \\ 
     Black:Awareness & 0.191$^{***}$ (0.027) & 0.102$^{***}$ (0.037) \\ 
     Hispanic:Awareness & 0.107$^{***}$ (0.034) & 0.089$^{*}$ (0.051) \\ 
     Other:Awareness & $-$0.073$^{*}$ (0.042) & $-$0.038 (0.048) \\ 
     Catholic:Awareness & $-$0.056$^{***}$ (0.014) & $-$0.109$^{***}$ (0.019) \\ 
     Evangelical Protestant: Awareness & $-$0.191$^{***}$ (0.013) & $-$0.160$^{***}$ (0.017) \\ 
     Jewish:Awareness & 0.171$^{***}$ (0.026) & 0.187$^{***}$ (0.049) \\ 
     Secular:Awareness & 0.191$^{***}$ (0.012) & 0.180$^{***}$ (0.016) \\
     Other:Awareness & 0.048$^{***}$ (0.016) & 0.030 (0.022) \\ 
     Female:Awareness & 0.076$^{***}$ (0.008) & 0.058$^{***}$ (0.011) \\ 
     LGBT:Awareness & 0.151$^{***}$ (0.012) & 0.101$^{***}$ (0.018) \\ 
     Union:Awareness & 0.094$^{***}$ (0.015) & 0.044$^{*}$ (0.023) \\ 
     Veteran:Awareness & $-$0.079$^{***}$ (0.013) & $-$0.049$^{***}$ (0.019) \\ 
     \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\begin{table}[!htbp] \centering 
  \caption*{Table 13: Race and Income Interaction Model, \textit{continued}}  
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & Policy (CCES) & Party (CCES) \\ 
\\[-1.8ex] \\ 
\hline \\[-1.8ex] 
 
  Asian:Income Level 2 & 0.004 (0.035) & $-$0.011 (0.068) \\ 
  Asian:Income Level 3 & 0.029 (0.036) & 0.092 (0.057) \\ 
  Asian:Income Level 4 & $-$0.003 (0.035) & 0.093 (0.066) \\ 
  Asian:Income Level 5 & 0.014 (0.034) & 0.144$^{***}$ (0.055) \\ 
  \\
  
  Black:Income Level 2 & $-$0.016 (0.015) & 0.008 (0.027) \\ 
  Black:Income Level 3 & $-$0.020 (0.019) & 0.011 (0.031) \\ 
  Black:Income Level 4 & $-$0.016 (0.020) & 0.008 (0.033) \\ 
  Black:Income Level 5 & $-$0.030 (0.025) & 0.041 (0.036) \\ 
  \\
  
  Hispanic:Income Level 2 & 0.014 (0.018) & 0.017 (0.032) \\ 
  Hispanic:Income Level 3 & 0.010 (0.019) & 0.022 (0.035) \\
  Hispanic:Income Level 4 & 0.026 (0.025) & 0.011 (0.041) \\ 
  Hispanic:Income Level 5 & 0.018 (0.025) & 0.002 (0.045) \\ 
  \\
  
  Other:Income Level 2 & 0.014 (0.025) & 0.040 (0.042) \\ 
  Other:Income Level 3 & 0.074$^{***}$ (0.028) & 0.068 (0.054) \\ 
  Other:Income Level 4 & 0.060$^{*}$ (0.035) & 0.112$^{**}$ (0.047) \\ 
  Other:Income Level 5 & $-$0.018 (0.033) & 0.076 (0.048) \\ 
 \\ 
  Awareness:Income Level 2 & $-$0.009 (0.013) & 0.025 (0.018) \\ 
  Awareness:Income Level 3 & $-$0.010 (0.013) & 0.047$^{**}$ (0.019) \\ 
  Awareness:Income Level 4 & $-$0.021 (0.014) & 0.028 (0.020) \\ 
  Awareness:Income Level 5 & $-$0.014 (0.014) & 0.061$^{***}$ (0.020) \\ 
  \\
  Asian:Awareness:Income Level 2 & $-$0.012 (0.100) & $-$0.011 (0.143) \\ 
  Asian:Awareness:Income Level 3 & 0.011 (0.098) & $-$0.185 (0.129) \\ 
  Asian:Awareness:Income Level 4 & 0.014 (0.100) & $-$0.208 (0.134) \\ 
  Asian:Awareness:Income Level 5 & $-$0.032 (0.090) & $-$0.311$^{***}$ (0.111)\\
  \\
  Black:Awareness:Income Level 2 & 0.055 (0.040) & $-$0.005 (0.059) \\ 
  Black:Awareness:Income Level 3 & 0.113$^{**}$ (0.046) & 0.017 (0.064) \\ 
  Black:Awareness:Income Level 4 & 0.110$^{**}$ (0.046) & 0.035 (0.067) \\ 
  Black:Awareness:Income Level 5 & 0.082$^{*}$ (0.046) & $-$0.132$^{**}$ (0.064) \\
  \\
  Hispanic:Awareness:Income Level 2 & $-$0.061 (0.052) & $-$0.131$^{*}$ (0.075) \\ 
  Hispanic:Awareness:Income Level 3 & $-$0.078 (0.054) & $-$0.206$^{***}$ (0.074) \\ 
  Hispanic:Awareness:Income Level 4 & $-$0.094 (0.057) & $-$0.179$^{**}$ (0.083) \\
  Hispanic:Awareness:Income Level 5 & $-$0.076 (0.053) & $-$0.191$^{**}$ (0.079) \\
  \\
  Other:Awareness:Income Level 2 & $-$0.077 (0.058) & $-$0.084 (0.076) \\ 
  Other:Awareness:Income Level 3 & $-$0.188$^{***}$ (0.061) & $-$0.150$^{*}$ (0.086) \\ 
  Other:Awareness:Income Level 4 & $-$0.068 (0.064) & $-$0.140$^{*}$ (0.078)\\
  Other:Awareness:Income Level 5 & $-$0.009 (0.065) & $-$0.134$^{*}$ (0.080)\\ \\
  Constant & 0.593$^{***}$ (0.009) & 0.442$^{***}$ (0.014) \\ 
  \\
 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 

\begin{table}[!htbp] \centering 
  \caption*{Table 14: Variance Function Regression, \textit{full results}} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lcc} 
\\[-1.8ex]\hline 
\hline \\[-1.2ex] 
 & \multicolumn{2}{c}{} \\ 
 & Policy Preferences & Party Identity \\ 
\\[-1.8ex] & (CCES) & (CCES) \\ 
\hline \\[-1.8ex]
 Intercept & $-$3.771$^{***}$ (0.029) & $-$2.545$^{***}$ (0.029) \\ 
 Awareness & 1.302$^{***}$ (0.045) & 0.633$^{***}$ (0.044) \\ 
 \\
 Asian & $-$0.169$^{***}$ (0.039) & 0.082$^{**}$ (0.039) \\ 
  Black & $-$0.203$^{***}$ (0.020) & $-$0.418$^{***}$ (0.020) \\ 
  Hispanic & $-$0.347$^{***}$ (0.023) & $-$0.208$^{***}$ (0.023) \\ 
  Other & $-$0.199$^{***}$ (0.035) & $-$0.444$^{***}$ (0.035) \\ 
  \\
  Catholic & $-$0.225$^{***}$ (0.028) & 0.341$^{***}$ (0.028) \\ 
  Evangelical Protestant & 0.001 (0.026) & 0.388$^{***}$ (0.026) \\ 
  Jewish & $-$0.027 (0.081) & 1.050$^{***}$ (0.080) \\ 
  Other & $-$0.138$^{***}$ (0.030) & 0.191$^{***}$ (0.030) \\ 
  Secular & $-$0.026 (0.025) & 0.090$^{***}$ (0.025) \\ 
 \\
  Female & $-$0.151$^{***}$ (0.015) & $-$0.017 (0.015) \\ 
  LGBT & 0.214$^{***}$ (0.024) & 0.313$^{***}$ (0.024) \\ 
  Union & $-$0.144$^{***}$ (0.034) & 0.396$^{***}$ (0.033) \\ 
  Veteran & $-$0.041 (0.032) & 0.074$^{**}$ (0.031) \\ 
 \\
  Age & 0.003$^{***}$ (0.0003) & $-$0.001$^{***}$ (0.0003) \\ 
  Married & 0.008 (0.009) & 0.034$^{***}$ (0.009) \\ 
  Income & 0.028$^{***}$ (0.003) & 0.008$^{***}$ (0.003) \\ 
  Education & 0.015$^{***}$ (0.004) & $-$0.024$^{***}$ (0.004) \\ 
  Religiosity & $-$0.012$^{***}$ (0.003) & 0.021$^{***}$ (0.003) \\ 
\\
  Region & & \\
\hspace{3mm}Midwest & 0.050$^{***}$ (0.011) & $-$0.065$^{***}$ (0.010) \\ 
 \hspace{3mm}Northeast & $-$0.019 (0.012) & $-$0.014 (0.012) \\ 
 \hspace{3mm}West & 0.134$^{***}$ (0.011) & $-$0.039$^{***}$ (0.011) \\ 
\\
2018 & 0.206$^{***}$ (0.008) & 0.005 (0.008) \\
 \\
  Awareness:Asian & 0.011 (0.075) & $-$0.194$^{***}$ (0.074) \\ 
  Awareness:Black & $-$0.175$^{***}$ (0.042) & 0.290$^{***}$ (0.041) \\ 
  Awareness:Hispanic & 0.291$^{***}$ (0.047) & 0.276$^{***}$ (0.047) \\ 
  Awareness:Other & 0.443$^{***}$ (0.069) & 0.536$^{***}$ (0.068) \\ 
  \\
  Awareness:Catholic & 0.245$^{***}$ (0.053) & $-$0.481$^{***}$ (0.052) \\ 
  Awareness:Evangelical Protestant & $-$0.505$^{***}$ (0.049) & $-$0.974$^{***}$ (0.047) \\ 
  Awareness:Jewish & $-$0.237$^{*}$ (0.132) & $-$1.324$^{***}$ (0.130) \\ 
  Awareness:Other & 0.105$^{*}$ (0.061) & $-$0.455$^{***}$ (0.060) \\ 
  Awareness:Secular & $-$0.023 (0.048) & $-$0.307$^{***}$ (0.047) \\ 
\\
Awareness:Female & 0.228$^{***}$ (0.030) & 0.229$^{***}$ (0.030) \\ 
  Awareness:LGBT & $-$0.517$^{***}$ (0.049) & $-$0.366$^{***}$ (0.048) \\ 
  Awareness:Union & 0.212$^{***}$ (0.061) & $-$0.482$^{***}$ (0.059) \\ 
  Awareness:Veteran & $-$0.093$^{*}$ (0.051) & $-$0.195$^{***}$ (0.050) \\ 
\\

 \hline \\[-1.8ex] 
Observations & 101,977 & 99,186 \\ 
\hline 
\hline \\[-1.8ex] 
\textit{Note:}  & \multicolumn{2}{r}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\ 
\end{tabular} 
\end{table} 
